Web信息安全实践_1.7 OpenSSL

Posted tianjiazhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Web信息安全实践_1.7 OpenSSL的主要内容,如果未能解决你的问题,请参考以下文章

Web信息安全实践_2.5 JS语法基础

Web信息安全实践_4.3 Ajax

Web信息安全实践_4.1 XSS防御

Web信息安全实践_4.0 XSS_知乎1

Web信息安全实践_2.8 PHP

Web信息安全实践_1.6 RSA