我试图在Linux上使用openssl创建一个RSA密钥,然后将其转换为PuTTY格式,这样我也可以在Windows上使用它。
openssl genpkey -algorithm RSA-PSS -out myKey.pem -outform PEM -pkeyopt rsa_keygen_bits:2048
生成密钥。我cat它,看起来很好。
现在将其转换为PuTTY格式:
puttygen myKey.pem -o myKey.ppk -O private
我得到以下错误:
puttygen: error loading 'myKey.pem': unrecognised key type
我尝试使用以下命令检查密钥:
openssl rsa -in myKey.pem -text
我得到以下错误:
140527068488128:error:0607907F:digital envelope routines:EVP_PKEY_get0_RSA:expecting an rsa key:../crypto/evp/p_lib.c:464:
知道怎么回事吗?
发布于 2019-06-13 15:29:23
你使用了错误的算法: RSA-PSS而不是RSA。
此命令将生成预期的键:
openssl genpkey -algorithm RSA -out myKey.pem -outform PEM -pkeyopt rsa_keygen_bits:2048请注意,唯一的更改是将RSA-PSS替换为RSA。
对于给定的私钥,您可以检索有关它的信息,包括所使用的算法,如下所示:
openssl asn1parse -in myKey.pem错误的算法(用于SSH的使用)将有一条类似于此的行,其中包括:
9:d=2 hl=2 l= 9 prim: OBJECT :rsassaPss尽管RSA算法将有一些类似的东西,其中包括:
9:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryptionhttps://unix.stackexchange.com/questions/524688
复制相似问题