在iOS上从SecKeyRef生成PKCS12密钥

时间:2015-10-05 18:48:04

标签: ios security rsa watchkit keychain

我正在处理一个问题,我需要将一个公共/私人密钥对从iOS应用程序共享到Watchkit 2.0应用程序。由于Watchkit 2.0不再允许您直接通过手表访问手机上的钥匙串,因此我想通过连接向Watch发送PEM公钥和PKCS12私钥,并将其导入Watch's钥匙扣。由于以下几个原因,这很困难:

  1. 不再在iOS上提供SecItemExport。 (甚至不在标题中,我在iOS 9上)
  2. 从SecItemCopyMatching获取字节的选项不是立即可用的格式(而不是我可以直接插入NSData并通过电线发送到手表)。
  3. 我们正在产生 使用本网站上非常有用的代码(http://blog.wingsofhermes.org/?p=42),我能够将公钥字节转换为PEM格式。

    我正在寻找可以由SecPKCS12Import使用的私有密钥字节到PKCS12的类似转换。

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用OpenSSL PKCS12_create函数来创建PKCS12结构,并使用i2d_PKCS12_bio函数将其写入文件。

PKCS12_create获取证书,私钥,密码,CA证书链和其他参数。

documentation中对此进行了很好的解释。