海运的博客

ssh生成/转换私钥格式及openssl使用ssh证书rsa非对称加解密文件

发布时间:August 5, 2023 // 分类: // No Comments

ssh生成私钥格式可选择PKCS8/PEM/SSH2,使用ssh-keygen生成PEM格式私钥:

ssh-keygen -t rsa -P "passwd" -b 4096 -C Haiyun -m PEM -f ~/.ssh/id_rsa

转换私钥格式为PKCS8或SSH2:

ssh-keygen -P "passwd" -N "passwd" -e -p -m PKCS8 -f ~/.ssh/id_rsa
ssh-keygen -P "passwd" -N "passwd" -e -p -m SSH2 -f ~/.ssh/id_rsa

从ssh私钥生成openssl可识别的公钥:

ssh-keygen -e -m PKCS8 -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub.pkcs8
openssl rsa -in ~/.ssh/id_rsa -pubout -outform PEM > ~/.ssh/id_rsa.pub.pkcs8

openssl使用公私钥加解密:

openssl rsautl -encrypt -pubin -inkey ~/.ssh/id_rsa.pub.pkcs8 -ssl -in test.txt -out test.enc
openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in test.enc -out test.dec

使用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/

Openwrt下使用Stunnel加密Squid取代SSH转发

发布时间:September 3, 2012 // 分类:Squid,OpenWrt // No Comments

Stunnel真是个好东西,可以使用SSL加密任意两点间的TCP连接,本文记录使用Stunnel加密Squid代理服务器来代替SSH数据转发
服务器端配置Squid正向代理:

#https://www.haiyun.me
http_port 127.0.0.1:8080
icp_port 0
visible_hostname proxy.www.haiyun.me
cache_mgr  admin@www.haiyun.me
cache_effective_user squid
cache_effective_group  squid 
via off     
forwarded_for off
acl localnet src 127.0.0.0/24
http_access allow localnet

生成OpenSSL证书:

openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem
chmod 400 stunnel.pem

服务器端Stunnel安装配置:

yum install stunnel
compression=zlib
syslog=no
debug=7
output=/var/log/stunnel.log
setuid=nobody
setgid=nobody
pid=/var/run/stunnel.pid
cert=/etc/stunnel/stunnel.pem
key=/etc/stunnel/stunnel.pem
client=no
[squid]
accept=8000
connect=127.0.0.1:8080

Openwrt下安装配置Stunnel客户端:

opkg update
opkg install stunnel
compression=zlib
syslog=no
debug=7
output=/var/log/stunnel.log
pid=/var/run/stunnel.pid
client=yes
[squid]
accept=8080
connect=www.haiyun.me:8000

客户端服务器端启动Stunnel:

stunnel

此时客户端和Squid代理服务器之间的数据是使用SSL加密的,其它HTTP代理服务器也同样适用此方法,如Kingate代理服务器

分类
最新文章
最近回复
  • 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 ...