目前我正在使用iOS安全框架生成RSAKeyPair
statusCode = SecKeyGeneratePair(keyPairAttributes as CFDictionary, &newPublicKey, &newPrivateKey)
然后我想用PKCS8将这些密钥导出为PEM格式。 apple提供导出密钥的标准方法是:
let cfData = SecKeyCopyExternalRepresentation(self, &error)
但是这些数据给了我PKCS1格式的密钥。有没有办法将PKCS1格式转换为PKCS8?
到目前为止,我所有的研究都让我对如何实际转换这些格式毫无头绪。
答案 0 :(得分:0)
我无法翻译成Swift,但这里几乎是Objective-C:
SecItemImportExportKeyParameters keyParams = {};
keyParams.version = SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION;
keyParams.passphrase = you_need_a_cfstringref_here;
SecExternalFormat dataFormat = kSecFormatWrappedPKCS8;
OSStatus status = SecItemExport(privateKey, dataFormat, 0, &keyParams, &cfData);