1.首先要生成服务器端的私钥(key文件):

openssl genrsa -des3 -out server.key 1024
运行时会提示输入密码,此密码用于加密key文件
去除key文件口令的命令:
openssl rsa -in server.key -out server.key

2.生成Certificate Signing Request(CSR)

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

生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.

3.对客户端也作同样的命令生成key及csr文件:

openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cfg

4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证.自己生成:

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cfg

5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:

Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cfg
Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cfg

PS:如报update database之类的错误,把index.txt.attr 文件内容更新为 unique_subject = no

注意: 此时会出错:Using configuration from /usr/share/ssl/openssl.cfg I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory 
解决方法: 1).mkdir -p ./demoCA/newcerts 
          2).touch demoCA/index.txt 
         3).touch demoCA/serial 
        4).echo 01 > demoCA/serial

6.合并证书文件(crt)和私钥文件(key)

1).cat client.crt client.key > client.pem

2).cat server.crt server.key > server.pem

7.合并成pfx证书

1).openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 
2).openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

8.文本化证书

1).openssl pkcs12 -in client.p12 -out client.txt

2).openssl pkcs12 -in server.p12 -out server.txt

9.屏幕模式显式:(证书、私钥、公钥)

1).openssl x509 -in client.crt -noout -text -modulus

2).openssl rsa -in server.key -noout -text -modulus

3).openssl rsa -in server.pub -noout -text -modulus

10.得到DH

11).openssl dhparam -out dh1024.pem 1024

(8) 编辑apache的配置文件httpd.cfg
开启: LoadModule ssl_module modules/mod_ssl.so
去掉以下语句的注释, Include conf/extra/httpd-ssl.cfg
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.cfg
#    
(9) 编辑 conf/extra/httpd-ssl.cfg

<VirtualHost *:443>
   SSLEngine On
   SSLCertificateFile conf/ssl/server.crt
   SSLCertificateKeyFile conf/ssl/server.key
   SSLCertificateChainFile conf/ssl/ca.crt
</VirtualHost>

cd /usr/local/apache/conf
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr -config /usr/local/ssl/openssl.cfg 
openssl req -new -x509 -keyout ca.key -out ca.crt -config /usr/local/ssl/openssl.cfg 
mkdir -p ./demoCA/newcerts 
touch demoCA/index.txt
touch demoCA/serial
echo 01 > demoCA/serial
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /usr/local/ssl/openssl.cfg 
bin/apachectl start

openssl生成https证书相关推荐

  1. openssl生成https证书 (转)

    1.首先要生成服务器端的私钥(key文件): openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密key文件 去除key文件口令的命 ...

  2. 使用openssl生成https证书

    首先去官网下载openssl工具:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com ...

  3. 使用openssl生成crt证书

    使用openssl生成crt证书 检查是否安装了 openssl 创建证书密钥文件 server.key 创建证书申请文件:server.csr 备份一份服务器密钥文件 server.key.org ...

  4. OpenSSL 生成 ssl 证书

    openssl 可以生成证书,但只是 "自制证书",我们自己来使用.因为我们生成的证书,不被各种浏览器认可,所以一般用于本机来测试.openssl 的介绍:https://segm ...

  5. 使用OpenSSL生成SSL证书的教程

    OpenSSL是一个加密软件库或工具包,它使计算机网络上的通信更加安全,可以使用其命令来创建SSL证书.OpenSSL采用apache授权许可,将工具包用于商业或非商业目的,下面就来看下CS如何利用O ...

  6. window生成https证书

    window生成https证书 参考:https://blog.csdn.net/qq_36279445/article/details/79447512 最近研究webrtc,这个只能localho ...

  7. Linux下生成HTTPS证书申请与颁发方法

    Linux下生成HTTPS证书申请与颁发方法: (1)生成HTTPS证书,可以使用openssl生成服务器RSA密钥及证书,生成的命令如下: openssl genrsa -des3 -out ser ...

  8. openssl 生成免费证书

    1.什么是openssl? 它的作用是?应用场景是什么?什么是openssl? 它的作用是?应用场景是什么? openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,它可以避免 ...

  9. 利用openssl生成X509证书

    利用openssl生成X509证书 1.生成密钥 openssl genrsa -out test.key 2048 2.生成cert证书(sha512/sha256/sha1要根据实际算法) ope ...

最新文章

  1. C# 的EF框架怎么连接Oracle数据库
  2. Django + Uwsgi + Nginx 的生产环境部署
  3. java io内存泄露_java内存泄露和OutOfMemory
  4. 【计算机组成原理】零碎知识归纳总结
  5. 阮一峰网络日志 第36期 2018年12月21日
  6. SpringMVC 异常记录
  7. java实现多线程断点续传,上传下载
  8. 夏令营讲课内容整理 Day 6 Part 3.
  9. 【Django 2021年最新版教程20】python for循环遍历queryset
  10. XML学习之做过的实验——实验一
  11. kettle简单的更新与插入
  12. Beta 反(tu)思(cao) 获小黄衫感言
  13. 基于MySQL 数据库的审计设计方案
  14. 批量将多张图片的宽度和高度同时缩小一半,也可以按固定比例缩小
  15. CodeForces - 13A Numbers【水题】
  16. Excel中如何合并多个工作簿或者合并多个表格(利用方方格子)
  17. 学习笔记17 --使用matlab自带函数,将旋转矩阵计算成欧拉角
  18. service饬令用于经管Linux把持系统中效劳的饬令
  19. 终于搞定android驱动USB摄像头了!
  20. Oracle11g客户端 Client与Database 的下载、安装、与配置(逐步详解)

热门文章

  1. Microbiome:中外合作揭示微生物群落降解复杂微生物聚合物的酶(视频导读)
  2. NEJM:益生菌LGG治疗肠胃炎无效,Immunity|LGG促进生骨
  3. Seaborn使用lmplot函数可视化散点图并添加回归曲线、移除默认的回归曲线置信区间(Scatter plot with regression line、Remove CI band)
  4. R语言optimize函数一维优化实战
  5. Error in apply(df$var1, 2, mean) : dim(X) must have a positive length
  6. checkpoint是什么?
  7. Fastp对fastq质控
  8. mysql5.0入门_MySQL 5.0基础的基本内容的介绍
  9. R语言包_reshape2
  10. DynamicProgramming动态规划整理