如何解决为 IOS 11 和 IOS 12 快速生成椭圆曲线 P-256 Keys
我正在开发一个使用 Java 加密服务的应用程序,我们有生成相同密钥格式的 Android 应用程序,因为后面的代码是相同的。我正在使用 CryptoKit 库,但它只接受 IOS 13 和 IOS 14 的一些功能
if #available(iOS 13.0,*) {
let privateKey = P256.Signing.PrivateKey()
let publicKey = privateKey.publicKey
let publicKeyData = publicKey.x963Representation
if #available(iOS 14.0,*) {
print("publickeyCryptoKey: \(publicKey.pemRepresentation)")
print("privatekeyCryptoKey: \(privateKey.pemRepresentation)")
} else {
// Fallback on earlier versions
}
} else {
// Fallback on earlier versions
}
java后端接受的密钥格式:
let private = "-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjnRfAQCrPS4g8MAT
7hX68EXW5ru9hB57iA6mETSqGWahRANCAARE3nshU6VAqSdNGU0ZeF0G60rr7M0H
BEyJoCoBOlSNjnCHuRYR34tNrU8veU2JYO8Mxl0aJsDb8Ydeq50pGx5p
-----END PRIVATE KEY-----"
let public = "-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERN57IVOlQKknTRlNGXhdButK6+zN
BwRMiaAqATpUjY5wh7kWEd+LTa1PL3lNiWDvDMZdGibA2/GHXqudKRseaQ==
-----END PUBLIC KEY-----"
我生成的密钥在 IOS 13 和 14 中,但我需要在 IOS 11 和 12 中生成该格式的密钥。我尝试过其他库,如 BlueECC,但它们都生成不同格式的密钥,并且后面不接受他们,谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。