zoukankan      html  css  js  c++  java
  • openssl笔记


    环境变量: C:OpenSSL-Win64;C:OpenSSL-Win64in;

    https://slproweb.com/products/Win32OpenSSL.html //openssl win版下载地址
    http://nginx.org/en/download.html //nginx win版下载

    C:UsersAdministrator>openssl s_client -connect www.baidu.com:443 -showcerts //openssl作为客户端访问服务器,拿到所有证书链的证书

    C:UsersAdministrator>openssl s_client -connect www.baidu.com:443 //只拿到服务器证书

    openssl x509 -in baidu.pem //利用openssl查看pem格式的证书

    openssl x509 -in baidu.pem -text -noout //利用openssl查看pem格式的证书,并以text的格式查看,此种方式看到信息更多

    openssl x509 -in baidu.crt -out baidu.pem  //格式转换,crt转pem。

    制作证书的流程:

    1.非对称密钥的生成
    >openssl genrsa -out rsa.key 2048 //生成rsa私钥,X509编码,2048位
    >openssl rsa -text -in rsa.key //以结构体查看上面生成的私钥
    >openssl rsa -in rsa.key -pubout -out rsa-public.key //使用上面的私钥生成对应的公钥


    >openssl dsaparam -genkey 2048 | openssl dsa -out dsa.key //生成DSA证书,注意“|”
    >openssl ecparam -genkey -name secp256r1 | openssl ec -out ec.key //生成ecdsa证书


    2.如何生成CSR文件?以使用rsa.key为例 //CSR文件里有公钥和其他信息(国家,省,市,公司,网址,等信息)
    C:OpenSSL-Win64selfsign>openssl req -new -key rsa.key -out rsa.csr //如果要生成ecdsa的csr文件,这里的key换成ecdsa.key 即可
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:AD //开始键入信息,[]表示可以不输,直接回车
    State or Province Name (full name) [Some-State]:AD
    Locality Name (eg, city) []:AD
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:AD
    Organizational Unit Name (eg, section) []:AD
    Common Name (e.g. server FQDN or YOUR name) []:www.benben.com // 这里输网址
    Email Address []:489367331@qq.com

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

    C:OpenSSL-Win64selfsign>

    如何查看别人的csr文件?
    >openssl req -text -in rsa.csr -noout //-noout 表示不输出原来的base64位的字符串

    3.制作好csr文件后如何签名? //Win版本下,.cer和.der都能识别
    C:OpenSSL-Win64selfsign>openssl x509 -req -days 365 -in rsa.csr -signkey rsa.key -out rsa_changtao.cer // 用rsa.key私钥来签名,得到的rsa_changtao.cer是base64编码
    Signature ok
    subject=/C=AD/ST=AD/L=AD/O=AD/OU=AD/CN=www.benben.com/emailAddress=489367331@qq
    com
    Getting Private key


    证书的格式:
    1.der和cer都是证书显示在windows的原始格式。都是调用winsow系统的证书查看器打开的。.cer/.der可以通过重命名转换。 .cer默认用证书查看器打开。
    2.pem 格式是把der二进制格式进行base64位编码后生成的证书。pem也是64位编码的。pem 和base64位的der文件内容是一样的。是apache或者ngix保存证书的格式(为了保证证书可读)
    3.notepad++可以打开64位编码的pem/cer/der证书。

    证书格式的转换:
    1. openssl x509 -inform PEM -in **.pem -outform DER -out ***.der         //pem 转 der 转换后的der是base64位编码的
    2. openssl x509 -inform DER -in **.der -outform PEM -out ***.pem         //der 转 pem

    3.openssl x509 -in baidu.crt -out baidu.pem                                          //格式转换,crt转pem。

    window下nginx环境的搭建
    1.http://nginx.org/en/download.html //nginx win版下载,下载好安装并运行nginx.exe,浏览器访问http://127.0.0.1 ,看是否访问成功
    2. 编辑C:UsersAdministratorDownloads ginx-1.19.0conf ginx.conf,取消注释,如下
    # HTTPS server
    #
    server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate rsa_changtao.pem; //这里是证书路径,pem格式,可以放在C:UsersAdministratorDownloads ginx-1.19.0conf下
    ssl_certificate_key rsa.key; //这里是该证书的私钥,可以放在C:UsersAdministratorDownloads ginx-1.19.0conf下

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
    root html;
    index index.html index.htm;
    }
    }

    }

    3.修改后在命令行运行nginx.exe程序
    4.浏览器方位https://127.0.0.1 //正确的话会弹出安全链接提示,表示搭建成功

  • 相关阅读:
    POJ 3904 Sky Code [数学]
    UVA 11542 Square [XOR方程组]
    CSS+DIV 设置圆角边框加阴影效果
    取消谷歌CHROME文本框(域)外边框高亮和缩放功能的办法
    IE和火狐CSS透明层兼容写法
    Ubuntu 12.04 amd64 搭建Apache+PHP+Mysql环境
    CSS样式表的优先级别
    css设置透明层
    卸载gnome的命令为
    ubuntu12.04 启动n卡独显方法
  • 原文地址:https://www.cnblogs.com/ojbk6943/p/14144357.html
Copyright © 2011-2022 走看看