wget https下载跳过 Enter PEM pass pharse
由于项目中需要用https下载(更安全些),当然仅仅是项目内部用,而不是对外公开,所以证书的申请机构和颁发机构都是自己(也就是说不花钱)
这个生成证书的过程网络上有大量的篇幅介绍我就不多做介绍了.
可以给个链接
http://blog.csdn.net/kunoy/article/details/8239653
我将此链接的内容整理了一下方便使用
ca.zip
下面说下用wet下载的问题
nginx 配置是这样的
-
server { [91/199]
-
listen 443;
-
server_name 127.0.0.1;
-
index index.html index.htm;
-
root html;
-
ssl on;
-
ssl_certificate /data/ca/server/server.crt;
-
ssl_certificate_key /data/ca/server/server.key;
-
ssl_client_certificate /data/ca/private/ca.crt;
-
-
ssl_session_timeout 5m;
-
ssl_verify_client on;
-
-
ssl_protocols SSLv2 SSLv3 TLSv1;
-
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
-
ssl_prefer_server_ciphers on;
-
-
location / {
-
root html;
-
index index.html index.htm;
-
}
-
-
-
location ~* /data(/.*) {
-
root html;
-
autoindex on;
-
#index index.html;
-
}
-
-
}
wget 命令是这样使用
wget --secure-protocol=auto --no-check-certificate --certificate=/data/ca/ksc/ksc.crt --private-key=/data/ca/ksc/ksc.key -c
是要下载的文件
xxxx 配置了https的nginx服务器
上面提供的文件:ca.zip 加压执行其中的命令后执行里面的.sh文件,
其中 conf/openssl.conf 中
countryName = match #国家;比如cn,代表中国
stateOrProvinceName = match #州或省
organizationName = match #组织,可以理解为公司
organizationalUnitName = match #组织单位,也可以理解为公司
match的行在生成证书时,服务端和客户端需要保持一致,
user的key在 ksc目录里
wget中私钥行:
--private-key=/data/ca/ksc/ksc.key
如果不处理会出现这种情况
Enter PEM pass phrase:
自己输入到没什么,如果在项目里(代码里使用wget 输入的时候,是无法输入的)
这里需要处理下这个key
mv ksc.key ksc.key-org
openssl rsa -in ksc.key-org -out ksc.key
这样wget就绕过加密的key了 就无需输入PEM pass了
处理好这个key 可以发送给客户端了
wget --secure-protocol=auto --no-check-certificate
--certificate=/data/ca/ksc/ksc.crt --private-key=/data/ca/ksc/ksc.key -c
下载就不会有pem提示了
阅读(2648) | 评论(0) | 转发(0) |