我正在尝试从命令行生成带有密码的私钥。对于相同的通行证:: shmicha和相同的算法-aes128我得到了不同的结果。这是正常的吗?请帮忙
openssl genrsa -aes128 -passout pass::shmicha -out privkey.pem 2048
非常感谢您的回复!如果我理解正确的话,密码只是用来保护生成的密钥的密钥。但我仍然无法理解一些事情。当我使用显示 privkey.pem 的内容时
`vi privkey.pem`
“Xuj1s……………1mGOYJagDmPhhVwesVw2vL0duTpbriFn/zHO” 这几行是什么意思。
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,8B89A8DEC7D83AB7A4221F8BA46C1028
**Xuj1s17OmgIQEbEukuLVhdCQRppOc74+RVTswqhtE8fkIvHICrmMu05R3W5YJBPF
DvUhmB+0Nz8q6DNCtJ+DmRmSJJ7OLAz+xyUw5SxiUAkSDXzRzXkIiQtXYl4iXPG0
UZrbR/Q5o03azAzP9aGjn2ESWE1OugY7BkjUQ+6lF4JyT8uO8KDDR7cFeQpcOi96
hggL57qaXW21abRyksk0owD72Wsq7npaApfRV5jTINctDZSG287GlzfbHts691f4
3Kb3h3VAMqP/+Q6s57cC1OoN02PPb3WKWg5lT3jJXhebZ5/39Yo38aLVqN/E00Dw
xyWNzQj+1C2mpWJnkZpnReviLsp+fvK9BiBYSDIhoJxlsrMffS1YgFy/6Zc2bgK8
MtLdjhP489lJb2FCzk949FyGF3esgLsuRPJXPV3Br2HwWCWzJhD72vzm5660W7E9
qOHBQXU+jBYbPEex4yOLAlMdVoWDzCmbMvywYs7TwADl+f+XNBw6HLTWaNcSV2Q/
Po6fSpk4pW4fKCk7hDkRPx9bg2BSxhz7EGhha49EAo4SPGKK5jdLw33pgEH8Erv9
b1D/f0WNJOaPeNL9vtqPQw4LDukQMaBcyU78wuDtx7T30sq/98gcak77JlwIFwga
IxtCUaEx8wJMAdYVyzPMUw2GC54oXQjIFC/6Rz1cRgdFZpmRhMAfkefAnA4r/56C
Y2UoZh8y9kbqgAZPivSWV8ErwLASk6gfIDSZcXEHCGx+9Q7ONTa7iaycVo73J3gC
KrJYTL9IzGb/CHTDnOQ9Z8/GYoxTUpqdkZb9+WOdfBkWHb3PoeqU7kdxi7eS5MAy
6TGT4vvziwo00nthhHW33zsv09AGrN8WjEBH3jpSrzi4EDixrtohM0jHfcvnCDTt
SI7IqzqagT6FWUTRNT3qN3Or1UPAf7yxAYNSY6JPE0P9Qp0ibh4bT6Wet6vNpwHt
aMhBKQCyN7awCsOLhOhoMhGjfd+/EUOS6u2yLo6NM5x4RcHPaYHOHOXK6x/jARbj
BGb8BEMhtGf0hbc8SKKIO98Ji9IgWZj+koIJh1WI1i05W22Dmbo2/HdI5qeLZ+ce
Dpxy4ckpmnFlQ6wpf2mOSIXiWkHJnDKCkC55BA96+33QTg7tW7YhIWfu/fxCQz5c
F4Oby/bnej99uMaO6o4rVK6Yxcc/p1ElfGKN6+iGx16hWo7cnmUV8csmXitYOoeV
s8MO85cNhSTZ1xwR+NXoRvEsFBKJV9n7ea/Kd0oidbpCqkORh4nxpH8YgjZWYxzS
hegLs8OlXfcJBiZTCZdtSH0xGn0f9iz+O4hjpRQXK70PYpESTPERE9jZ4h8i0inK
aAprqwJHd9/UN3jm7+K2k6zmlhJtbs5T2Efe8KMnPOTjPZihtG6Zg22H1403vPrM
3Pugv10a7iHa6n0xm5PzMRdE5uDkb80i1QcB2+xVQp5qlyzGa5E6Ll9pQ+GKmvYB
zCyeUedIICRvze6ciTxOCLYzHbv0LARXWzWPdLTzG1YZHC0CfmvgKQNYNc8p15fC
5Qwq2KTs/7BaO7dgihcXC2kUpyg/1mGOYJagDmPhhVwesVw2vL0duTpbriFn/zHO**
-----END RSA PRIVATE KEY-----
答案1
zozo 是正确的。你搞混了。你在问题中使用的命令使用密码短语“:shmicha”生成使用 AES128 加密的 RSA 私钥。为了证明这一点,请尝试使用以下命令列出“privkey.pem”的内容:
openssl rsa -in privkey.pem -text
这将提示您输入密码。当您输入“:schmicha”时,它将列出内容。是的,“:”是密码的第一个字母。我不确定这是否是您的意图,但这就是您告诉它使用的。如果您不输入该密码,它不会列出私钥。
在您对 zozo 的回答的评论中,您提到当您使用以下命令时您的密钥有效:
openssl enc -aes128 -a -in test -K C2CBF98262F7F9D1D5880279C25AA5E4 -iv 0
使用此命令时,您甚至没有使用 RSA 密钥。此命令使用 aes128 和密钥“C2CBF98262F7F9D1D5880279C25AA5E4”加密名为“test”的文件。此命令与您在问题中生成的 RSA 密钥无关。
genrsa 命令每次都会生成一个新的不同的私钥。你只是使用相同的密码来加密不同的密钥。
答案2
是的,这是正常的。私钥有一个随机部分。使用密钥时必须输入密码,而不是密钥所基于的短语。