我正在开发一种P2P网络,其中节点通过TCP相互通信,每条消息都由Ed25519私钥签名。我用利布钠进行签名和签名验证。
我目前正在开发一个节点配置,我有这样的问题:
如何将公钥/私钥存储在磁盘上?有什么通用的文件格式和最佳实践吗?
发布于 2016-08-15 08:17:41
如果将文件存储在磁盘上,则PKCS#12个人信息交换语法格式是最佳实践。它通常被称为密钥商店。但是请注意,PKCS#12依赖于秘密密钥加密来加密密钥存储项。这通常意味着这样的存储中的条目是用基于密码的加密加密的。当然,这意味着执行加密的库必须传递密码。
条目本身通常使用PKCS#8:私钥信息语法规范包装,也可以单独使用。PKCS#8是一种存储单个加密密钥的格式。它由定义加密方法的外层和用于描述加密类型的内部格式组成。有时,内部格式本身用于描述以明文(或以其他方式包装)存储的密钥。
最后,有一些格式来描述密钥本身。这些在PKCS#8条目中再次使用(很像Matryoshka娃娃)。通常,它们使用X9.63格式对EC密钥使用ASN.1 (这也是编码PKCS#12和PKCS#8的方法)来描述密钥。然而,ed25519曲线是相当新的,因此它似乎缺乏一个正式的ASN.1规范。然而,有一个描述(可能的)标准格式的因特网草案。
https://crypto.stackexchange.com/questions/39343
复制相似问题