【发布时间】:2020-06-19 04:05:12
【问题描述】:
我想从foo_priv.key得到private_key.pem
$ openssl ecparam -genkey -name secp256k1 -rand /dev/urandom -out private_key.pem
$ openssl ec -in private_key.pem -outform DER|tail -c +8|head -c 32 |xxd -p -c 32 > foo_priv.key
我试过了
$ openssl ec -noout -text -inform DER -in foo_priv.key
read EC key
unable to load Key
$ openssl x509 -in foo_priv.key -inform DER -outform PEM
unable to load certificate
4486393452:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1220:
4486393452:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:386:Type=X509
$ cat foo_priv.key | xxd -r -p > test.bin
$ openssl ec -in test.bin -inform DER -pubin -text -noout
read EC key
unable to load Key
4456304236:error:0D06B08E:asn1 encoding routines:ASN1_D2I_READ_BIO:not enough data:a_d2i_fp.c:247:
【问题讨论】:
-
openssl x509只处理证书,有时处理 CSR,从不处理任何类型的密钥,更不用说 OpenSSL 不支持的格式的密钥
标签: openssl private-key encryption-asymmetric der