SecKeyCreatePair创建两个SecKeyRef后如何创建CSR?
我使用 SecKeyCreatePair 创建 RSA 密钥对。结果是两个密钥,pubkey &私钥。现在我想获取 pubkey 的原始数据来进行证书请求。 我可以通过 OpenSSL 的 X509_REQ* api 制作 CSR,但我不知道如何将 SecKeyRef 类型的 pubkey 转换为原始密钥。 以前有人这样做过吗?
I use SecKeyCreatePair to create the RSA key pair. The result is two key, pubkey & privkey. Now I want to get the raw data of pubkey to make a Certificate Request.
I can make a CSR by OpenSSL's X509_REQ* apis, but I don't known how to transform the pubkey of SecKeyRef type to raw key.
Is there anyone do this before?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看一下这个代码。要点是,一旦创建了密钥对,就必须指示 openssl 使用它们。为此,您需要为 RSA 密钥提供新方法,以使用钥匙串密钥进行加密和解密。
我对 set_private_key 函数进行了一些修改,因为如果您想使用 openssl 创建 CSR,则需要公钥的模块和指数的正确值。
所以这里是:
Have a look at this code. The main point is that, once you have created the key pair, you have to instruct openssl to use them. To do that you need to supply the RSA key with new methods to do encryption and decryption using the keychain keys.
I've modified a bit the set_private_key function because if you want to create a CSR with openssl, you need the correct values of the public key's module and exponent.
So here it is: