# OpenSSl

# 是什么

OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

# OSX

Mac OSX目前可以通过brew来安装指定版本的OpenSSL

确认已安装的openssl的版本和位置

which openssl

确定版本

openssl version

brew安装openssl

brew install openssl

brew更新openssl

brew upgrade openssl

brew强制链接到openssl

brew link openssl --force

# 如何生成证书

//#生成私钥key文件
openssl genrsa 1024 > ./ssl/private.pem

//#通过私钥文件生成CSR证书签名
openssl req -new -key ./ssl/private.pem -out csr.pem

//#通过私钥文件和CSR证书签名生成证书文件
openssl x509 -req -days 365 -in ./ssl/csr.pem -signkey ./ssl/private.pem -out ./ssl/file.crt
  • private.pem: 私钥
  • csr.pem: CSR证书签名
  • file.crt: 证书文件

# Other

OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的开源软件包。OpenSSL漏洞不仅影响以https开头的网站,黑客还可利用此漏洞直接对个人电脑发起'心脏出血'(Heartbleed)攻击。据分析,Windows上有大量软件使用了存在漏洞的OpenSSL代码库,可能被黑客攻击抓取用户电脑上的内存数据。

Mac OSX一般自带的有OpenSSL。但因为上述OpenSSL'心脏病失血'事件,Mac OSX 自 10.11 El Capitan 起,将原有的 OpenSSL 替换为 LibreSSL。在以上这些系统中应该除了实测必须要用 OpenSSL 软件外,应该都可以用 LibreSSL 取代 OpenSSL。而对于其他大多数还没有将系统自带的 OpenSSL 替换为 LibreSSL 的会麻烦一些,并且也可能做不到彻底替换。只是对于编译安装的软件,可以尽量用 LibreSSL 取代 OpenSSL。(其他用LibreSSL 取代 OpenSSL的系统还有:OpenBSD 自 5.6 起,Alpine Linux 自 3.5.0 起)

openssl version
LibreSSL 2.6.5
陕ICP备20004732号-3