Web信息安全实践_1.7 OpenSSL

OpenSSL

  • 用于实现SSL协议,能实现证书生成、证书签名、密钥生成、加解密等各种操作
 

命令行举例

openssl version
openssl prime
echo "encode me" |openssl | enc -base64
/*对字符串encode me进行base64编码*/
echo "ZW5jb2RIIG1lCg==" | openssl enc -base64 -d
/*对经过base64进行编码的字符串进行解码*/

 

  自建HTTPS(使用OpenSSL)
  • 生成CA根证书
  • 为网站生成CSR(Certificate Signing Request,证书签名请求)
  • CA对CSR签名,生成网站证书
  • 建立网站,修改Apache配置(在apache配置中使用自己生成的证书)
  • 重启apache,在浏览器中使用https访问网站
 

生成CA

  • 生成CA根证书(cacert.com)
CA根证书可导入浏览器
openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1925
  • 生成服务器签名证书请求(tempreq.pem)、服务器密钥(tempkey:服务器私钥)
openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM
  • CA对服务器请求证书进行签名
openssl ca -in tempreq.pem -out server_crt.pem
    *在使用第一、二条命令之前,要先生成CA配置文件、服务器配置文件,用来告诉命令关于CA和服务器的基本信息。
  • 输入以上三条命令之后,能获得:
    • 网站服务器的签名证书:server_crt.pem
    • 网站服务器的私钥:server_key.pem

 

       
上一篇:Kubernetes(九)单Master 部署API Server、controller-manager、scheduler


下一篇:Leetcode 1730. Shortest Path to Get Food [Python]