1.通过MAC终端可以生成:
参考:https://www.anquanke.com/post/id/151220?from=timeline
生成EC秘钥命令:openssl ecparam -genkey -name secp256r1 > test_ecc.key (pem)
查看命令:openssl ec -text < test_ecc.key
生成公钥:openssl ec -in test_ecc.key -pubout -out test_ec_pubkey.pem
查看曲线参数:openssl ecparam -list_curves
2.XCODE:
key algorithm:EC 对应:kSecAttrKeyTypeEC
(https://developer.apple.com/documentation/security/ksecattrkeytypeec?language=objc)
但是过期了,现在用kSecAttrKeyTypeECSECPrimeRandom
(https://developer.apple.com/documentation/security/ksecattrkeytypeecsecprimerandom?language=objc)
对应java的secp算法
常用的非对称加密算法包括:
(1)RSA:因由 RSA 公司发明而命名,是一个支持变长密钥的公开密钥算法,需要加密的文件块的长度也是可变的;公开密钥算法总是要依据一个数学上的难题。RSA基于大素数积难分解问题,给定两个数p、q 很容易相乘得到n,而对n进行因式分解却相对困难。
(2)ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。椭圆曲线因为用二元三次方程y^2= x^3+ ax + b来

本文介绍了如何在iOS和OpenSSL中生成EC公钥私钥,探讨了两者生成的密钥长度不一致的问题,原因是DER格式的不同。iOS仅接受和生成ASN.1 DER格式,而Java生成的公钥为X509格式,导致互通障碍。解决方案是通过第三方库CryptoExportImportManager进行格式转换。
最低0.47元/天 解锁文章
230

被折叠的 条评论
为什么被折叠?



