linux上面ssl证书生成方法(转)

HTTPS证书创建 https数字证书申请与自签名证书部署 阅读详情

一般情况下,如果能找到可用的证书,就可以直接使用,只不过会因证书的某些信息不正确或与部署证书的主机不匹配而导致浏览器提示证书无效,但这并不影响使用。

需要手工生成证书的情况有:

  1. 找不到可用的证书
  2. 需要配置双向SSL,但缺少客户端证书
  3. 需要对证书作特别的定制

首先,无论是在Linux下还是在Windows下的Cygwin中,进行下面的操作前都须确认已安装OpenSSL软件包。

1. 创建根证书密钥文件(自己做CA)root.key:

openssl genrsa -des3 -out root.key

输出内容为:

[lenin@archer ~]$ openssl genrsa -des3 -out root.key 
Generating RSA private key, 512 bit long modulus 
……………..++++++++++++ 
..++++++++++++ 
e is 65537 (0×10001) 
Enter pass phrase for root.key: ← 输入一个新密码 
Verifying – Enter pass phrase for root.key: ← 重新输入一遍密码

2. 创建根证书的申请文件root.csr:

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

输出内容为:

[lenin@archer ~]$ openssl req -new -key root.key -out root.csr 
Enter pass phrase for root.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]:CN ← 国家代号,中国输入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音 
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不输入 
Common Name (eg, YOUR name) []: ← 此时不输入 
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填

Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不输入 
An optional company name []: ← 可以不输入

3. 创建一个自当前日期起为期十年的根证书root.crt:

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

输出内容为:

[lenin@archer ~]$ openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt 
Signature ok 
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./emailAddress=admin@mycompany.com 
Getting Private key 
Enter pass phrase for root.key: ← 输入前面创建的密码

4. 创建服务器证书密钥server.key:

openssl genrsa –des3 -out server.key 2048

输出内容为:

[lenin@archer ~]$ openssl genrsa -out server.key 2048 
Generating RSA private key, 2048 bit long modulus 
….+++ 
…………………………………………..+++ 
e is 65537 (0×10001)

运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施! 
去除key文件口令的命令: 
openssl rsa -in server.key -out server.key

5.创建服务器证书的申请文件server.csr:

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

输出内容为:

[lenin@archer ~]$ openssl req -new -key server.key -out server.req 
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]:CN ← 国家名称,中国输入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省名,拼音 
Locality Name (eg, city) []:BeiJing ← 市名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不输入 
Common Name (eg, YOUR name) []:www.mycompany.com ← 服务器主机名,若填写不正确,浏览器会报告证书无效,但并不影响使用 
Email Address []:admin@mycompany.com ← 电子邮箱,可随便填

Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不输入 
An optional company name []: ← 可以不输入

6. 创建自当前日期起有效期为期两年的服务器证书server.crt:

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in server.csr -out server.crt

输出内容为:

[lenin@archer ~]$ openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in server.csr -out server.crt 
Signature ok 
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www.mycompany.com/emailAddress=admin@mycompany.com 
Getting CA Private Key 
Enter pass phrase for root.key: ← 输入前面创建的密码

7. 创建客户端证书密钥文件client.key:

openssl genrsa -des3 -out client.key 2048

输出内容为:

[lenin@archer ~]$ openssl genrsa -des3 -out client.key 2048 
Generating RSA private key, 2048 bit long modulus 
……………………………………………………………………………..+++ 
……………………………………………………………………………………………………….+++ 
e is 65537 (0×10001) 
Enter pass phrase for client.key: ← 输入一个新密码 
Verifying – Enter pass phrase for client.key: ← 重新输入一遍密码

8. 创建客户端证书的申请文件client.csr:

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

输出内容为:

[lenin@archer ~]$ openssl req -new -key client.key -out client.csr 
Enter pass phrase for client.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]:CN ← 国家名称,中国输入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省名称,拼音 
Locality Name (eg, city) []:BeiJing ← 市名称,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不填 
Common Name (eg, YOUR name) []:Lenin ← 自己的英文名,可以随便填 
Email Address []:admin@mycompany.com ← 电子邮箱,可以随便填

Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不填 
An optional company name []: ← 可以不填

9. 创建一个自当前日期起有效期为两年的客户端证书client.crt:

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in client.csr -out client.crt

输出内容为:

[lenin@archer ~]$ openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in client.csr -out client.crt 
Signature ok 
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www.mycompany.com/emailAddress=admin@mycompany.com 
Getting CA Private Key 
Enter pass phrase for root.key: ← 输入上面创建的密码

10. 将客户端证书文件client.crt和客户端证书密钥文件client.key合并成客户端证书安装包client.pfx:

openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx

输出内容为:

[lenin@archer ~]$ openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx 
Enter pass phrase for client.key: ← 输入上面创建的密码 
Enter Export Password: ← 输入一个新的密码,用作客户端证书的保护密码,在客户端安装证书时需要输入此密码 
Verifying – Enter Export Password: ← 确认密码

11. 保存生成的文件备用,其中server.crt和server.key是配置单向SSL时需要使用的证书文件,client.crt是配置双向SSL时需要使用的证书文件,client.pfx是配置双向SSL时需要客户端安装的证书文件

     .crt文件和.key可以合到一个文件里面,把2个文件合成了一个.pem文件(直接拷贝过去就行了)


转自:http://youyang-java.iteye.com/blog/2039854

SSL 自定义证书创建过程 根证书是公钥基础设施(PKI)中的顶级证书,它用来签署其他证书,包括中间证书和最终用户证书。根证书通常由证书颁发机构(CA)生成和自签名。客户端只需要信任一次根证书。任何由根证书签署的证书,都能被客户端验证。更新后的服务端证书依然由同一个根证书签署,确保了信任链的完整性。通过这个类比,您可以更直观地理解根证书和服务端证书之间的信任关系,以及为什么客户端在根证书不变的情况下可以持续信任更新后的服务端证书。 阅读详情

相关推荐

在Linux系统中为Nginx生成自签名SSL证书的详细步骤

通过以上步骤,即可在Linux系统上完成Nginx自签名证书的生成与配置,实现本地开发或测试环境的HTTPS加密访问。生产环境建议使用Let’s Encrypt免费证书。➔ 点击锁图标 ➔ 查看证书详情。(适用于多个子域名)侵权必究,创作不易。

欢乐打代码! 1030

生成SSL证书

SSL 是一种加密协议,用于在网络通信中提供数据的保密性和完整性。它使用公钥和私钥来建立安全的连接,并对传输的数据进行加密和解密,以防止未经授权的访问和篡改。根据文章操作,生成以下四个文件用于存储与 SSL 相关的密钥、证书和信任的根证书。

weixin_44783506的博客 6112

使用Openssl签发SSL证书

本文主要记述在Linux系统上使用Openssl创建SSL证书的流程,作为个人学习笔记。自签名证书分为自签名私有证书和自签名CA证书两种。自签名私有证书无法被吊销,自签名CA证书可以被吊销。 什么是openssl OpenSSL为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用;openssl只是OpenSSL开源套件中的多功能命令工具; OpenSSL套件的组成部分有: 1.libcrypto:通用功

qq_42533647的博客 2389

HTTPS与自制SSL证书

介绍https基本原理,以及自制ssl证书并安装证书,还介绍了证书格式及格式转换方法。

u010148813的专栏 5916

Linux 自签名ssl证书生成

文章目录 一、生成CA私钥 二、创建ssl证书私钥 三、使用CA签署ssl证书 四、查看签署的证书信息 五、 把服务端代码转换浏览器可以识别的PCS12格式,密码使用上面输入的密码 六、使用jetty中的PKCS12Import工具类完成转换,密码同上 七、使用下面命令查看jks文件中包含的证书信息 一、生成CA私钥 mkdir ca cd ca #创建私钥 (建议设置密码) openssl genrsa -des3 -out myCA.key 2048 生成CA证书 # 20 年有

Bertram的博客 2238

39文章解读与程序——EI\CSCD\北大核心《基于两阶段鲁棒优化算法的微网多电源容量配置》已提供下载资源

电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.《《《《《《《《更多资源还请持续关注本专栏》》》》》》》《《《《《《《《更多资源还请持续关注本专栏》》》》》》》论文与完整源程序_电网论文源程序的博客-优快云博客。电网论文源程序-优快云博客。

LIANG674027206的博客 1208

SSL生成证书的几种方式

目录 一、使用makecert命令生成 二、PowerShell 命令生成方式 确定你的打包应用的主体 使用New-SelfSignedCertificate创建证书 三、Openssl 生成方式 四、Window IIS生成证书 五、EKU (OID)扩展 六、参考 一、使用makecert命令生成 生成自签名证书。 以下命令行包含使用makecert.exe在 WinRM 主机上创建证书的示例语法。makecert.exe -r -pe -n "CN=host_name-3...

大太阳的博客 9852

CANOCO5.0实现冗余分析(RDA)最详细步骤

在地理及生态领域会常使用RDA分析,RDA的实现路径也有很多,今天介绍一下CANOCO软件的实现方法。1.不同样点和环境因子之间夹角是锐角 是正相关,是钝角是负相关。2.夹角越大 说明相关性较小,夹角越小,相关性越大。得有不同的物种或者样点数值,再加上环境因子数据。3.箭头越长 相关性越大。时间调整到2010年。

Along6的博客 1万+

Linux下OpenSSL自签ssl证书

Linux下OpenSSL自签ssl证书,颁发CA证书 Chrome您的连接不是私密连接解决办法 配置https域名 因内网需要用到的证书,所以使用了自签ssl。

WXiangQian 5077

告别USB转接:在STM32探索板上用SPI跑通ESP-Hosted,实现Wi-Fi/BLE连接

本文详细介绍了如何在STM32F469I-DISCO开发板上通过SPI接口实现ESP-Hosted方案,为嵌入式设备添加Wi-Fi和蓝牙连接功能。通过硬件配置、协议栈优化和性能测试,展示了这一创新方案的成本效益和开发效率,特别适合资源受限但需要稳定无线连接的嵌入式应用场景。

weixin_34046298的博客 252

Python逻辑回归——以车险定价为例(附代码)

保费定价也成为费率厘定,是保险公司运营的环节之一。其过程是根据保单(被保险人)的损失经验和其他相关信息建立模型,并且对未来的保险成本(赔款、代理人佣金、一般管理费用、理赔费用以及支持该业务所需的资本金成本)进行预测的过程。保险公司实际使用的费率还会受到市场供求关系和公司自身发展战略的影响。汽车保险也称机动车辆保险,失意机动车辆本身及其第三者责任等为保险标的的一种运输工具险,在非寿险井算领域中占有重要地位。

m0_62929945的博客 1984

SSL认证之相关证书的生成

目录 相关知识点之Kafka支持的认证处理 SSL相关证书的生成 服务器端SSL证书签发 准备工作:修改/etc/hosts文件,自定义一个hosts名 第一步:为了方便证书的保存管理,这里先专门创建几个目录来保存证书 第二步:生成server.keystore.jks文件(即:生成服务端的keystore文件) 第三步:生成CA认证证书(为了保证整个证书的安全性,需要使用CA进行证...

JustryDeng 1万+

ICCompiler II实战:从NDM生成到APR流程的完整避坑指南

本文是一份针对ICCompiler II(ICC II)后端物理实现流程的实战避坑指南。文章详细解析了从NDM库生成、设计初始化、布局规划到时钟树综合与布线的完整APR流程,重点分享了各环节的常见陷阱、精细化配置命令与调试经验,旨在帮助工程师高效达成PPA目标,确保设计一次成功。

p4q5r6s7t的博客 533

linux上面ssl证书生成方法

一般情况下,如果能找到可用的证书,就可以直接使用,只不过会因证书的某些信息不正确或与部署证书的主机不匹配而导致浏览器提示证书无效,但这并不影响使用。 需要手工生成证书的情况有: 找不到可用的证书 需要配置双向SSL,但缺少客户端证书 需要对证书作特别的定制 首先,无论是在Linux下还是在Windows下的Cygwin中,进行下面的操作前都须确认已安装OpenSSL软件包。 1....

chongqingnantian的专栏 768

单细胞marker基因表达密度图-(还有一个包装函数)

我们借助Nebulosa,将上面的过程包装为一个函数,还是那句话,受累麻烦的事我们来解决,您轻松即可,先看看函数参数:需要注意的是,如果你只想框选某一类celltype,理想模式是这群celltype是单独聚类的,没有散落在其他类群,否则将会全部框选,效果不好,建议使用AI/PS添加。需要注意,这里我算是投机取巧了,用了一个和这个作图毫无关系的包ggnetwork,主要的目的是用他的theme_blank()主题,一次性将所有清空,当然也可以自己慢慢写,不过有现成的,为啥不用呢?这质感不就上去了嘛。

qq_42090739的博客 1369

LoRa无线通信技术介绍(六)SX127X芯片收发程序讲解

接收LORA芯片SX127X的收发程序。

DT程序员的博客 1751

Linux上创建SSL证书

OpenSSL。

2302_82179879的博客 2527

【论文复现】水下单光子激光雷达设计 Sequential Multimodal Underwater Single

针对对慢速小水下目标进行远距离、高分辨率重建的需求,单光子激光雷达(LiDAR)目标重建技术的研究正在进行。本文报告了一种基于时空序列融合的顺序多模态水下单光子 LiDAR 自适应目标重建算法,该算法具有强大的信息提取和噪声过滤能力,能够从复杂的回波光子计数和空间像素关系中重建目标的深度和反射强度信息。该方法包括三个步骤:数据预处理、序列优化极值推断滤波以及图像优化协同变分策略,以实现复杂水下环境下的高质量目标重建。

u012133341的博客 293

linux服务器手动生成安全的ssl证书

linux服务器手动创建安全的ssl证书

friend_X的博客 2244

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux生成ssl证书脚本

新建cert.sh,复制以下内容填入,执行即可 #!/bin/bash mkdir pem DOMAIN_HOST=127.0.0.1 #选择域名方案最好 HOST=$DOMAIN_HOST # 自定义信息 PASSWORD="b1x1ktwfUM40CWxt" COUNTRY=CN PROVINCE=sx CITY=ty ORGANIZATION=qhsx GROUP=qhsx NAME=qhsx SUBJ="/C=$COUNTRY/ST=$PROVINCE/L=$CITY/O=$ORGANIZAT.

u011535199的博客 21万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何在 Linux 环境下使用 Certbot 自动生成 SSL 证书并部署到 Nginx 服务中

编辑 Nginx 配置文件(通常是 /etc/nginx/sites-available/default 或 /etc/nginx/nginx.conf,具体路径可能会有所不同)来配置虚拟主机。SSL加密技术对网络传输的数据安全非常重要,然而,申请SSL证书却很麻烦,而且免费的SSL证书最多使用3个月,使得广大程序员十分不方面,流程如下。在生成 SSL 证书之前,确保你的 Nginx 配置正确,并且已经指向你的网站根目录。首先,确保你的系统包管理器已经更新,然后安装 Certbot 和 Nginx 插件。

网络风云的博客 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

本地ssl证书生成_如何生成本地SSL证书

本地ssl证书生成Note: I ran these commands on macOS. Linux should work in the same way. I don’t guarantee for Windows. 注意:我在macOS上运行了这些命令。 Linux应该以相同的方式工作。 我不保证使用Windows。 In the project root folder, run: 在...

cuk0051的博客 2548

Linux—— 配置ssl安全证书

1.配置自签证书,加固安全访问 生成CA根秘钥 生成CA证书 生成服务器秘钥文件 生成服务器证书签名申请文件 生成服务器证书 查看服务器证书文件 三、实验过程整理 修改配置文件 nginx关于ssl 安全加固相关配置说明:Configuring HTTPS servershttps://nginx.org/en/docs/http/configuring_https_servers.html 3.ssl_prot

Xinan_____的博客 6692

生成HTTPS协议需要的SSL证书

第一步:在Linux上安装OpenSSL工具。 https://www.cnblogs.com/rxbook/p/9367725.html 第二步:用命令生成SSL证书。 https://blog.youkuaiyun.com/zhongbeida_xue/article/details/81949103 这里注意下,域名可以随便填写,然后自己在电脑做虚拟域名映射即可进行测试。 然后,第二步的命令执行位置在我...

Brave_heart4pzj的博客 4332

linux 自签名 SSL 证书生成步骤

因为开发的时候需要用到 https,自签名证书由服务器自己生成并签名,无需第三方 CA 验证,配置简单,适合内网服务的 HTTPS 访问需求(浏览器会提示 “证书不受信任”,但内网可忽略或手动信任)。(自签名证书的正常现象),点击**“高级”→“继续访问”**(不同浏览器操作略有差异),即可正常访问 HTTPS 服务。nginx 容器方式 ssl 挂载位置要对,可以采用拷贝方式,或者直接指向对应的路径。打开浏览器,输入`https://172.31.28.5,浏览器会提示。在内网其他机器上,通过浏览器或。

qq_46238104的博客 1081

如何申请免费的SSL/TLS证书

SSL(Secure Sockets Layer,安全套接字层)是一种加密协议,用于在计算机网络上保护数据的传输。SSL的主要作用是通过加密通信内容来确保数据在传输过程中的机密性、完整性和身份验证。它通常用于网页浏览器与服务器之间的安全通信(即HTTPS协议),确保用户与网站之间的信息交换不会被第三方窃取或篡改。为什么需要SSL:数据加密:SSL通过加密传输的数据,确保黑客无法窃取或读取通信内容。这对敏感信息,如个人资料、支付信息等至关重要。

2301_78938567的博客 8112
上一篇: openssl生成https证书 (转)
下一篇: openssl 学习之SSL/TLS
coo1fish
博客等级 码龄14年 22粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值