Openssl 的常用场景

0、openssl环境搭建

  (1)linux一般默认安装  openssl version 查看版本信息 加-a查看详细信息

   

  (2)Windows 需要自行安装

  下载地址    https://slproweb.com/products/Win32OpenSSL.html

   

1、从浏览器查看网站证书(www.baidu.com)

 

 

 

2、使用openssl获取tlsssl服务器的证书

  openssl s_client -connect www.baidu.com:443

   

  查看所有层级的证书

  openssl s_client -connect www.baidu.com:443 -showcerts

  以百度为例可以看见3个证书

   

3、使用openssl查看证书

  openssl x509 -in baidu.pem

   

  通过openssl x509 -help参数可以得到x509下面的所有子参数。x509的子参数非常多。

  例如:

    text 以文本格式输出

    noout 不输出证书内容

    pubkey 输出公钥

     

4、利用openssl制作自制签名的证书

  (1)非对称密钥对生成

    1.1  RSA

    生成私钥

    openssl genrsa -out rsa.key 2048

    

    由私钥生成公钥

    openssl rsa -in rsa.key -pubout -out rsa-public.key

     

    1.2  DSA

    openssl dsaparam -genkey 2048 | openssl dsa -out dsa.key

     

    1.3  ECDSA

    openssl ecparam -genkey -name secp256r1 | openssl ec -out ec.key

     

  (2)创建证书请求文件:Certificate Signing Requests

    2.1创建CSR文件

    openssl req -new -key rsa.key -out rsa.csr

     

    2.2查看CSR文件

    openssl req -text -in rsa.csr -noout

     

  (3)自签名证书

    openssl x509 -req -days 365 -in rsa.csr -signkey rsa.key -out rsa.crt

     

5、证书的格式

  (1)DER/CER     原始格式使用ASN.1编码(直接打开乱码)

  (2)PEM            对DER格式的base64的编码(能直接再打开)

 

6、通过openssl对不同的证书做格式转换

  (1)PEM to DER

    openssl x509 -inform PEM -in **.pem -outform DER -out **.der

     

  (2)DER to PEM

    openssl x509 -inform DER -in **.der -outform PEM -out **.pem

    

7、Windows安装nginx并启用https

  (1)nginx下载

    访问nginx官网http://nginx.org/en/download.html

     

  (2)nginx安装并启动

    进到nginx的安装目录执行nginx.exe

    

    在浏览器验证

     

  (3)开启HTTPS Server

    在conf目录下修改nginx.conf文件

     

    并将证书和私钥文件放入目录中

    

    重启nginx服务

    nginx.exe -s reload

    

    送浏览器验证

    

    

     可以看到自制的证书

 

原文地址:https://www.cnblogs.com/gsophy/p/12673611.html