openssl自签名证书与伪CA签发证书

自签名证书

  1. 在桌面新建文件夹
    mkdir ssl
    cd ssl
  2. 生成私钥
    sudo openssl genrsa -out server.key 2048


    WeChatba8d5f59ea48b74199d7bdd3b1a0b3ce.png
  3. 生成自签名证书
    sudo openssl req -new -sha256 -x509 -days 365 -key server.key -out server.crt


    openssl自签名证书与伪CA签发证书_第1张图片
    WeChat50f19978728184812a848fb2837c788c.png

配置Apache服务器

  1. 证书放入服务器
    server.crt和server.key拷贝到/etc/apache2/目录
  2. 修改配置文件
  • 编辑/etc/apache2/httpd.conf文件
    LoadModule ssl_module libexec/apache2/mod_ssl.so
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    Include /private/etc/apache2/extra/httpd-ssl.conf
    LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so

  • 编辑/etc/apache2/extra/httpd-ssl.conf
    去掉下面注释,并修改为上面证书放入的路径
    SSLCertificateFile "/private/etc/apache2/server.crt"
    SSLCertificateKeyFile "/private/etc/apache2/server.key"

-编辑/etc/apache2/extra/httpd-vhosts.conf
.....后面添加一段如下内容:


    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /private/etc/apache2/server.crt
    SSLCertificateKeyFile /private/etc/apache2/server.key
    ServerName 192.168.1.6
    DocumentRoot "/Library/WebServer/Documents"

  1. 重启服务器
    sudo apachectl restart
  2. 访问服务器
    https://192.168.1.6
    会提示不安全,因为自己的证书没有加入浏览器的信任列表,继续访问就可以了
    4、apache2 网站跟目录
    /Library/WebServer/Documents (可以在此目录下面放置需要下载的文件)


    openssl自签名证书与伪CA签发证书_第2张图片
    WeChat0ff050f28b32d1809350392c1e5e314a.png

作为CA签发证书

1、 生成CA根证书
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
2、创建服务器私钥、生成证书请求文件CSR
openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr
3、自己作为CA签发证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 365

  • 遇到问题


    openssl自签名证书与伪CA签发证书_第3张图片
    WeChat502675d573633c6c2deff4875727b53f.png

    用/System/Library/OpenSSL/openssl.cnf替换目录中的/private/etc/ssl/openssl.cnf文件

mkdir -p ./demoCA/newcerts
touch demoCA/index.txt
touch demoCA/serial
echo 01 > demoCA/serial

你可能感兴趣的:(openssl自签名证书与伪CA签发证书)