linux中openssl生成证书和自签证书

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

命令:

openssl genrsa -des3 -out server.key 1024

运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令

2. 对服务端生成CSR和key

命令:

openssl req -new -key server.key -out server.csr -config /etc/pki/tls/openssl.cnf

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

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

命令:

openssl genrsa -des3 -out client.key 1024

openssl req -new -key client.key -out client.csr -config /etc/pki/tls/openssl.cnf

4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,需要交费用,这里说下怎么自己做CA。

命令:

openssl req -new -x509 -keyout ca.key -out ca.crt -config /etc/pki/tls/openssl.cnf

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

命令:

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /etc/pki/tls/openssl.cnf

openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config /etc/pki/tls/openssl.cnf

时间: 2024-10-24 11:20:24

linux中openssl生成证书和自签证书的相关文章

https学习笔记三----OpenSSL生成root CA及签发证书

在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root CA及签发子证书.学习主要参考官方文档:https://www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html# 一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备

openssl 生成私钥、申请文件,证书导入jks说明

openssl 生成私钥.申请文件,证书导入说明 1.生成私钥 openssl genrsa -out serverkey.key 1024/2048 这样生成的私钥不带密码(以后生成密钥库后,要将密码改成和密钥库密码相同) openssl genrsa -des3 -out serverkey.key 1024/2048    这样生成的带密码(密码必须和以后生成的密钥库密码相同) 2.生成申请文件 openssl req -new -key serverkey.key -out cert.c

关于苹果APNS推送机制中各生成文件(CSR、证书、Provisioning文件)的关系的梳理,以及各种坑

1.前言 iOS采用APNS做推送,流程附一张图吧,不多说 2.正题 这两天重新搞了几天的推送,有些坑想给大家指出来,少走弯路. 那我想要说的是流程中需要用的各种文件,为诸位做一个梳理,理解不到之处,敬请批评指正! 注:以Development为例,Distribution照搬即可.同样我们实现的网上常见的用php实现的推送服务器. 2.1 所需文件 首先是我们最终需要生成如下图所示的文件夹中的文件: 其中各个文件的关系: 2.2 生成各个文件时中的弯弯 1.生成Certificate Sign

使用openssl生成ssl(https)证书

openssl生成证书 [[email protected] key]$ pwd/app/nginx/key 生成私钥openssl genrsa -out server.key 2048 生成证书请求openssl req -new -key server.key -out server.csr 填入信息 [[email protected] key]$ openssl req -new -key server.key -out server.csr You are about to be a

关于 java中的SecureRandom在linux中每次生成不同结果

使用AES算法的时候,会发现下面的代码在windows每次产生确定的结果,但Linux就不同,导致无法正确解密 public static String encrypt(String content, String password) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes())); SecretKey s

linux 无交互生成ssh rsa免秘证书

[[email protected] tmp]# man ssh-keygen NAME ssh-keygen - authentication key generation, management and conversion SYNOPSIS ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N n

Linux中https配置实例

https协议 :httpd是否支持ssl是决定于是否装载了ssl模块 http协议:文本编码格式(telnet可以验证明文传输的. https协议:基于SSL二进制编码 https监听在443/tcp httpd:ssl ssl是基于IP地址创建,所以,每一个IP 仅创建一个SSL回话: (也就是说一个IP只能建立一个ssl,要是你利用主机名建立多个网站,就只一个网站可支持ssl通信) httpd的ssl的会话的建立相当占用系统资源,一般服务器端为了不占用系统资源一般生产厂商就会添加个硬件设备

SSL/TLS深度解析--OpenSSL 生成自签证书

密钥算法 OpenSSL 支持 RSA.DSA 和 ECDSA 密钥,但是在实际场景中只是用 RSA 和 ECDSA 密钥.例如 Web 服务器的密钥,都使用RSA或ECDSA,因为DSA效率问题会限制在1024位(相对旧版本浏览器不支持更长的DSA密钥),ECDSA还没有全面范围的普及.比如SSH,一般都是使用DSA和RSA,而不是所有的客户端(不只是浏览器)都支持ECDSA算法. 密钥长度 默认的密钥长度一般都不够安全,老版本的 OpenSSL 默认 RSA 私钥是1024位,所以我们需要指

Linux下使用openssl生成证书

利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: 一.服务器端1.生成服务器端的私钥(key文件); openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密key文件(参数des3是加密算法,也可以选用其他安全的算法),以后每当需读取此文件(通过openssl提供的命令或API)都