我有C应用程序必须生成椭圆曲线私钥并将其导出为使用Spongycastle的Java应用程序。我需要我的应用程序生成与Spongycastle完全相同的密钥,因此我在OpenSSL中使用与Spongycastle
相同的格式用于私钥导出,但由于任何原因导致密钥字节不同。 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
文件为591字节,ec.p8
文件为295字节,因此导入和导出的密钥或其格式明显不同。为什么呢?