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

猜你喜欢

转载自www.cnblogs.com/tianjiazhen/p/12235522.html