






















openssl genrsa -out rsa_private_key_2048.pem 2048
openssl pkcs8 -topk8 -in rsa_private_key_2048.pem -out pkcs8_rsa_private_key_2048.pem -nocrypt
openssl rsa -in rsa_private_key_2048.pem -out rsa_public_key_2048.pem -pubout
公私钥一般有2种格式,pem和der格式,上面生成的是pem格式
-----BEGIN PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
-----BEGIN PUBLIC KEY-----
openssl pkey -inform PEM -outform DER -in rsa_private_key_2048.pem -out rsa_private_key_2048.der
openssl pkey -inform DER -outform PEM -in rsa_private_key_2048.der -out rsa_private_key_2048.pem
RSA的密钥一般有2种编码方式,即PKCS#1和PKCS#8
openssl genpkey -algorithm ed25519 -out private.pem
openssl pkey -in private.pem -pubout -out public.pem
1.低版本的openssl不支持ed25519算法
2.上面生成的密钥格式也是pem格式,pem格式与der格式的转换参考上面rsa的方式
3.ed25519算法原始的密钥长度是32字节的,但是openssl生成的私钥长度是48位,公钥长度是44位的。原因是openssl在私钥前添加了16位的前缀,公钥添加了12位的前缀,因此如果想要获取原始的32位密钥可以使用如下命令:
cat private_key.der | tail -c 32 | xxd -p

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。