我正在尝试使用密钥对加密来验证我的应用程序和我的
PHP服务器之间的身份.为此,我需要在我的应用程序中生成公钥后将公钥发送到服务器.
@H_403_16@if let pubKey = NSData(base64EncodedData: publicKey,options: NSDataBase64DecodingOptions.allZeros)! { println(pubKey) }
publicKey的类型为Unmanaged< SecKey>.
我在上面的代码中得到的错误是:调用中的额外参数’base64EncodedData’
我该怎么办?有没有更好的办法?
编辑:这是密钥对的生成方式:
var publicKeyPtr,privateKeyPtr: Unmanaged<SecKey>? let parameters = [ String(kSecAttrKeyType): kSecAttrKeyTypeRSA,String(kSecAttrKeySizeInBits): 2048 ] let result = SecKeyGeneratePair(parameters,&publicKeyPtr,&privateKeyPtr) let publicKey = publicKeyPtr!.takeRetainedValue() let privateKey = privateKeyPtr!.takeRetainedValue() let blockSize = SecKeyGetBlockSize(publicKey)
编辑2:所以问题是SecKey不是NSData,所以我的问题应该是:如何将publicKey:SecKey转换为NSData?