海运的博客

使用OpenSSL转换X509 PEM与PFX证书

发布时间:February 9, 2013 // 分类:OpenSSL // No Comments

LinuxApacheNginx通常使用X509格式SSL证书,WindowsIIS使用PFX格式SSL证书,可以使用OpenSSL互转X509与PFX。
X509转PFX:

#https://www.haiyun.me
openssl pkcs12 -export -inkey www.haiyun.me.key -in www.haiyun.me.cer -out www.haiyun.me.pfx

PFX转X509:

openssl pkcs12 -in www.haiyun.me.pfx -nodes -out www.haiyun.me.pem 
openssl rsa -in www.haiyun.me.pem -out www.haiyun.me.key
openssl x509 -in www.haiyun.me.pem -out www.haiyun.me.crt 

Windows 2008下IIS7配置StartSSL免费证书

发布时间:February 9, 2013 // 分类:IIS,OpenSSL // No Comments

申请StartSSL免费SSL证书见:https://www.haiyun.me/archives/startssl-free-ssl.html,获取到证书私钥及公钥,然后生成IIS可导入的PFX证书。
1.使用StartSSL网页提供的PFX生成工具:
StartSSL生成IIS下PFX证书.png
2.使用OpenSSL转为PFX证书
然后在IIS管理器中导入生成的PFX证书并绑定到相应域名。

Openssl配合tar加密解密文件

发布时间:September 5, 2012 // 分类:OpenSSL // No Comments

单独使用openssll加密解密文件:

#列出支持的加密算法
openssl enc -list
#加密文件
openssl enc -e -aes-256-cfb -pbkdf2 -salt -iter 10000 -md sha256 -k 123456 -in file -out file.aes
#解密文件
openssl enc -d -aes-256-cfb -pbkdf2 -salt -iter 10000 -md sha256 -k 123456 -in file.aes -out file
#使用pbkdf2算法通过密码、随机salt、iter次数、sha256生成aes加密key和iv
#-salt默认启用
#-md默认sha256
#-iter默认10000

使用tar压缩加密解密文件:

#tar打包加密文件
tar -zcf - directory | openssl enc -e -aes-256-cfb -pbkdf2 -k 123456 -out directory.tar.gz.aes 
#tar打包解密文件
openssl enc -d -aes-256-cfb -pbkdf2 -k 123456 -in directory.tar.gz.aes | tar -xz -f - 

也可使用gpg加密解密文件

https://www.openssl.org/docs/man1.1.1/man1/enc.html
https://imil.net/blog/posts/2020/openssl-pbkdf2-default-iterations/

Vsftpd配置SSL加密FTP数据传输

发布时间:August 17, 2012 // 分类:备份存储,OpenSSL // No Comments

FTP是互联网上广泛使用的文件传输协议,缺点是数据明文传输,在数据经过的节点上进行监听可轻易获取用户和密码,给安装带来诸多隐患,可使用SSL加密FTP连接。
先测试明文传输下用Tcpdump监听ftp用户名和密码:

tcpdump port 21 -nA
20:03:43.077038 IP 192.168.1.1.34453 > 192.168.1.4.21: Flags [P.], seq 21:34, ack 134, win 2920, length 13
E..5."@.@..J............k..3..(kP..hC...USER onovps
20:03:43.077506 IP 192.168.1.4.21 > 192.168.1.1.34453: Flags [P.], seq 134:168, ack 34, win 365, length 34
E..J.g@.@.................(kk..@P..m#...331 Please specify the password.
20:03:43.081218 IP 192.168.1.1.34453 > 192.168.1.4.21: Flags [P.], seq 34:47, ack 168, win 2920, length 13
E..5.#@.@..I............k..@..(.P..h:...PASS onovps
20:03:43.102350 IP 192.168.1.4.21 > 192.168.1.1.34453: Flags [P.], seq 168:191, ack 47, win 365, length 23
E..?.h@.@.................(.k..MP..m.8..230 Login successful.
20:03:43.103626 IP 192.168.1.1.34453 > 192.168.1.4.21: Flags [P.], seq 47:52, ack 191, win 2920, length 5
E..-.$@.@..P............k..M..(.P..h.L..PWD
20:03:43.104025 IP 192.168.1.4.21 > 192.168.1.1.34453: Flags [P.], seq 191:211, ack 52, win 365, length 20
E..<.i@.@.................(.k..RP..mt...257 "/home/onovps"

查看Vsftpd是否支持SSL:

#https://www.haiyun.me
ldd `which vsftpd`|grep ssl
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f18f8c0a000)

生成SSL证书:

openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
chmod 400 vsftpd.pem
cp vsftpd.pem /etc/ssl/certs/

Vsftpd配置SSL支持:

ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

重启vsftp使用支持ssl的ftp客户端连接,本例使用FlashFXP连接:
flashFXP新建连接使用SSL加密FTP.png
flashfxp登录信息ssl.png

Nginx配置StartSSL免费SSL证书

发布时间:August 7, 2012 // 分类:Nginx,OpenSSL // No Comments

证书申请参考:StartSSL免费服务器SSL证书申请,使用自签名证书参考:Nginx配置自签名SSL证书
下载StartSSL根证书并与申请到的StartSSL证书合并到一个文件:

wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat server.csr sub.class1.server.ca.pem ca.pem > www.haiyun.me.pem

服务器私钥如果有设置密码要清除掉,不然启动Nginx要输入SSL密码。

openssl rsa -in server.key -out www.haiyun.me.key

更改SSL证书权限:

chmod 400 www.haiyun.me.*

修改Nginx配置文件加载SSL证书:

ssl                   on;
ssl_certificate   /path/www.haiyun.me.pem;
ssl_certificate_key /path/www.haiyun.me.key;

修改fcgi配置文件传递HTTPS参数,不然当前网页为HTTPS,下一链接主回到HTTP页面了。

fastcgi_param HTTPS on;

如果网站只允许使用HTTPS连接可添加Header头通知客户端转向HTTPS连接:

add_header Strict-Transport-Security max-age=31536000;

重启Nginx加载:

/etc/init.d/nginx restart

访问www.haiyun.me查看SSL证书:
查看www.haiyun.me证书.png

分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...