我有 C 应用程序,它必须生成椭圆曲线私钥并将其导出到使用 Spongycastle 的 Java 应用程序。我需要我的应用程序生成与 Spongycastle 完全相同的密钥,因此我在 OpenSSL 中使用的格式与Spongycastle
应该用于私钥导出的格式相同,但由于任何原因导致的密钥字节不同。海绵堡ECPrivateKey
。getEncoded
方法应该以 DER 编码返回 PKCS8 PrivateKeyInfo。我真的可以在 OpenSSL 中导入它。但是,当我将其导出回来时,密钥文件的大小变小了 2 倍。
示例密钥文件是http://www.fileconvoy.com/dfl.php?id=g90dd3019881e526c999568884712f1e3c7d48d7cc
我使用以下命令行:
openssl pkcs8 -topk8 -inform DER -in "ec.key" -nocrypt -outform DER -out "ec.p8"
该命令行应该导入PKCS8椭圆曲线私钥并以相同格式导出。但是ec.key
file是591字节,ec.p8
file是295字节,所以导入导出的key或者格式明显不同。为什么?