zoukankan      html  css  js  c++  java
  • apache双向HTTPS SSL认证配置

    注意:

    如果报找不到 OPENSSL.CNF文件的错误,可以到网上下一个,然后用 -config openssl.cnf来指定这个配置文件的位置,或放到报错时提示的指定位置

    1.生成根证书的KEY, 1024的意思是RSA加密位数,必须为2的N次方,一般用1024即可。

    openssl genrsa -out ca.key 1024

    2.用刚刚生成的根证书的KEY来生成CSR(证书签发请求),这一步会要求填写请求的相关信息。

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

    其中要注意的输入项有两个,一个Common Name(证书机构名),另一个challenge password(记住即可)

    3.再用刚才的CSR和KEY来生成我们的根证书, days参数用来指定证书的有效天数。

    openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt

    以同样的办法生成服务器证书

    1.先生成KEY

    openssl genrsa -out server.key 1024

    2.然后用KEY生成CSR,这一步输入信息里的Common Name必须填网站的域名

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

    3.生成服务器证书

    openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

    签发一个客户端证书,把最后生成的,后缀为P12文件给客户端安装。

    1.先生成客户端的KEY

    openssl genrsa -out client.key 1024

    2.用KEY来生成CSR,但是这一步输入信息里的Common Name不能填上面的网站域名,因为这个是客户端的证书,如果填的和服务器证书的一样,会导致验证失败。

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

    3.用最开始生成的根证书来签署生成这个客户端的证书。

    openssl x509 –req –days 3650 –CA ca.crt –Cakey ca.key –Cacreateserial –in client.csr –out client.crt

    4.制作客户端安装证书,这一步会要求输入一个Export Password,就是客户端安装证书时要求输入的安装密码

    openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

    下面开始APACHE的配置。

    第一步就是在Apache的配置文件里把SSL模块加载进来

    LoadModule ssl_module modules/mod_ssl.so

    再把SSL的配置文件也加载进来,如果没有这个配置文件的话,可以去下一个

    Include conf/extra/httpd-ssl.conf

    然后修改httpd-ssl.conf文件,找到如下的键值修改成对应你自己系统的路径。

    DocumentRoot "E:VertrigoServwww"

    #localhost改成网站的域名

    ServerName localhost:443

    ErrorLog "E:/VertrigoServ/Apache/logs/error.log"

    TransferLog "E:/VertrigoServ/Apache/logs/access.log"

    SSLEngine on

    #下面的文件就是我们刚才用OPENSSL生成的,注意修改成自己的路径

    SSLCertificateFile "E:/VertrigoServ/Apache/conf/server.crt"

    SSLCertificateKeyFile "E:/VertrigoServ/Apache/conf/server.key"

    SSLCACertificateFile "E:/VertrigoServ/Apache/conf/ca.crt"

    完成后重启APACHE

  • 相关阅读:
    Codeforces Round #251 (Div. 2) A
    topcoder SRM 623 DIV2 CatAndRat
    topcoder SRM 623 DIV2 CatchTheBeatEasy
    topcoder SRM 622 DIV2 FibonacciDiv2
    topcoder SRM 622 DIV2 BoxesDiv2
    Leetcode Linked List Cycle II
    leetcode Linked List Cycle
    Leetcode Search Insert Position
    关于vim插件
    Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones
  • 原文地址:https://www.cnblogs.com/tuwenmin/p/3169930.html
Copyright © 2011-2022 走看看