背景:由于项目需要签发一个10年有效期的SSL证书,用于访问HTTPS站点,环境是Windows + Git Bash Here。
首先通过以下命令生成公钥:
openssl genrsa -out pub.key 2048
再通过已生成的公钥生成安全证书:
openssl req -new -key pub.key -out prive.crt -subj "/C=CN/ST=nanning/L=nanning/O=example/OU=it/CN=domain1/CN=domain2"
生成失败,报以下错误:
name is expected to be in the format /type0=value0/type1=value1/type2=…… where characters may be escaped by \. This name is not in that format: 'C:/Program Files (x86)/Git/C=CN/ST=nanning/L=nanning/O=example/OU=it/CN=domain1/CN=domain2'
problems making Certificate Request
原因: “/ ”默认被认作为 git 的安装目录,解决办法是在生成语句前面添加 MSYS_NO_PATHCONV=1(在当前会话禁用路径转换),如下:
MSYS_NO_PATHCONV=1 openssl req -new -key proxy.key -out proxy.crt -subj "/C=CN/ST=nanning/L=nanning/O=example/OU=it/CN=domain1/CN=domain2"
到此问题完美解决。
本文暂时没有评论,来添加一个吧(●'◡'●)