问题描述
我正在开发一个使用 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 (将#修改为@)