openSSL生成RSA私有秘钥密码错误问题-创新互联

Case

安装openSSL,添加到环境变量

创新互联自2013年创立以来,是专业互联网技术服务公司,拥有项目网站建设、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元察哈尔右翼后做网站,已为上家服务,为察哈尔右翼后各地企业和个人服务,联系电话:13518219792

第一种方式,进入到openssl环境,然后执行命令

openssl
genrsa -des3 -passout pass:"123456" -out D:	est1.key

第二种方式,通过PowerShell调用openssl.exe执行命令

openssl genrsa -des3 -passout pass:"123456" -out D:	est2.key

Check

Check的时候会提示输入密码,我们均输入:123456

Check test1.key:

openssl rsa -check -in D:	est1.key

输出错误:unable to load Private Key

Check test2.key:

openssl rsa -check -in D:	est2.key

正常

Why

本质原因就是命令参数写法有问题导致,-passout pass:"123456"应该写成-passout "pass:123456"就不会有差异了。
第一种方式,进入openSSL环境,密码就是pass:后的所有字符,包括特殊字符,所以密码为:"123456"(包括引号)
第二种方式,PowerShell调用openSSL.exe,PowerShell会删除-passout pass:"123456"中的引号,密码为:123456

cmd和PowerShell调用其他exe时候参数中引号传递问题?

示例程序

cmd调用,可以看到,只是删除了双引号

PowerShell调用,单双引号都被删除

如果确实需要传递双引号,那就转义'"',或者使用"""

ref

https://www.openssl.org/docs/manmaster/man1/openssl-passphrase-options.html
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7.2
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-7.2#passing-arguments-that-contain-quote-characters


网页标题:openSSL生成RSA私有秘钥密码错误问题-创新互联
本文URL:http://bzwzjz.com/article/cdshps.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 营销型网站建设 成都网站建设公司 泸州网站建设 成都网站制作 成都网站建设 温江网站设计 成都定制网站建设 手机网站设计 网站建设方案 成都网站制作 成都网站建设 广安网站设计 成都网站制作 H5网站制作 网站设计制作报价 网站建设 营销网站建设 四川成都网站制作 成都网站设计 重庆网站制作 重庆企业网站建设 企业网站设计