gpt4 book ai didi

ios - ECDSA secp256k1 key 对生成和 Swift 签名

转载 作者:搜寻专家 更新时间:2023-10-31 22:17:57 25 4
gpt4 key购买 nike

我正在 Swift 上为 iOS 制作 Hyperledger Sawtooth 客户端原型(prototype)。

在此之前,我在 Android on Java 上做同样的事情。在 Java 实现中,使用 SpongyCaSTLe 库很容易:生成 key 的函数如下所示:

public static KeyPair getKeyPair() throws NoSuchAlgorithmException, NoSuchProviderException, InvalidAlgorithmParameterException {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("ECDSA", "SC");
ECGenParameterSpec ecGenParameterSpec = new ECGenParameterSpec("secp256k1");
keyPairGenerator.initialize(ecGenParameterSpec, new SecureRandom());
return keyPairGenerator.generateKeyPair();
}

我需要在 Swift 中做同样的事情:

生成一个 secp256k1 key 对并用它签署一个字节数组

并用它来标记字节数组:

        Signature signature = Signature.getInstance("ECDSA", "SC");
signature.initSign(keyPair.getPrivate(), new SecureRandom());
signature.update(bytes);
byte[] signedBytes = signature.sign();

我用谷歌搜索了“secp256k1 swift”并找到了这些库:

它们都是 bitcoin-core 的 secp256k1 库与 Swift 的绑定(bind)。

我可以做类似let kp = KeyPair("secp256k1")let signedBytes = kp.sign(bytes)这样的东西吗?如果是那么怎么做,如果不是那么还有其他方法吗?

最佳答案

我找到了解决方案。它是 BitcoinKit framework .我在安装 Carthage 时遇到了一些问题,但 Cocoapods + 安装错误消息中发现的一些缺失工具效果很好。

关于ios - ECDSA secp256k1 key 对生成和 Swift 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50410946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com