Linux下利用openssl 生成SSL证书步骤

合集下载

Linux系统利用OpenSSL生成SSL证书

Linux系统利用OpenSSL生成SSL证书

Linux上使用OpenSSL生成SSL证书Linux上使用OpenSSL生成SSL证书1 安装OpenSSL2 生成私钥文件(KEY)3 生成证书请求文件(CSR)4 生成自签名证书(CRT)5 配置服务器1 安装OpenSSL在终端输入以下命令来检查是否已安装OpenSSL:openssl version如果已安装,则可以看到OpenSSL的版本号。

如果未安装,需要根据所使用的Linux发行版进行安装,例如:Debian/Ubuntu:sudo apt-get install opensslCentOS/RHEL:sudo yum install openssl2 生成私钥文件(KEY)1. 执行以下命令生成一个私钥文件(例如private.key):openssl genrsa -out private.key 2048以上示例将生成一个2048位的RSA私钥。

3 生成证书请求文件(CSR)1. 执行以下命令生成一个证书请求文件(例如server.csr):openssl req -new-key private.key -out server.csr2. 在生成CSR的过程中,需要提供一些证书信息,例如:常用名称、国家、email、组织名称等,详细信息如下:You are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:cnState or Province Name (full name) []:bjLocality Name (eg, city) [Default City]:bjOrganization Name (eg, company) [Default Company Ltd]:bjOrganizational Unit Name (eg, section) []:bj4 生成自签名证书(CRT )1.以上示例将生成一个有效期为365天的自签名证书,将使用私钥文件来签名证书请求文件,可以根据需要调整证书的有效期5 配置服务器将生成的私钥文件和证书文件配置到Nginx 或Apache 等服务器上即可使用。

Linux命令高级技巧使用openssl生成和管理SSL证书

Linux命令高级技巧使用openssl生成和管理SSL证书

Linux命令高级技巧使用openssl生成和管理SSL证书使用OpenSSL生成和管理SSL证书一、介绍SSL证书是用于保护网站和网络通信安全的重要工具。

OpenSSL是一个开源加密库,能够提供各种加密算法和SSL/TLS协议的实现。

本文将介绍如何使用OpenSSL生成和管理SSL证书的高级技巧。

二、安装OpenSSL首先,确保已经在Linux系统上安装了OpenSSL。

可以通过以下命令来检查OpenSSL是否已安装:$ openssl version如果没有安装,可以使用包管理工具,如apt、yum等进行安装。

三、生成自签名证书自签名证书用于测试环境或本地开发,不需要经过权威机构的认证。

使用OpenSSL可以轻松生成自签名证书。

以下是生成自签名证书的步骤:1. 生成私钥:$ openssl genrsa -out private.key 20482. 生成证书签发请求(CSR):$ openssl req -new -key private.key -out csr.csr在生成CSR的过程中,需要填写一些证书相关的信息,如国家、地区、组织、通用名等。

3. 生成自签名证书:$ openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt生成的certificate.crt即为自签名证书,可以用于配置Web服务器等需要SSL证书的场景。

四、生成CA证书除了自签名证书,我们也可以生成CA(Certificate Authority)证书,以进行证书签发。

以下是生成CA证书的步骤:1. 生成私钥:$ openssl genrsa -out ca.key 20482. 生成证书签发请求(CSR):$ openssl req -new -key ca.key -out ca.csr在生成CSR的过程中,需要填写一些证书相关的信息,如国家、地区、组织、通用名等。

用OpenSSL命令行生成证书文件

用OpenSSL命令行生成证书文件

用OpenSSL命令行生成证书文件证书文件生成也许很多人和本人一样深有体会,使用OpenSSL库写一个加密通讯过程,代码很容易就写出来了,可是整个工作却花了了好几天。

除将程序编译成功外(没有可以使用的证书文件,编译成功了,它并不能跑起来,并不表示它能正常使用,所以......),还需生成必要的证书和私钥文件使双方能够成功验证对方。

找了n多的资料,很多是说的很模糊,看了n多的英文资料,还是没有办法(不知道是不是外国朋友都比较厉害,不用说明得太清?),无意间找到yawl(yawl@)写的文章,难得的汉字(呵呵)。

里面有生成证书部分,说到生成了Certificate Signing Request (CSR)文件后,就有点不太清楚了。

后面生成自签字证书在很多地方都可以找到的,签名这部分,yawl说mod_ssl有比较好的脚本,但是笔者一时找不到,就自己用openssl的ca命令来完成了,也不是很麻烦。

说说本人的操作环境:无盘工作站(有权限问题使用起来不太方便),操作目录是openssl/bin(没办法改不了环境变量,如果你可以改的话,就不用在这个目录下工作了),为了方便本人把apps下的f 也复制到了这个目录下来。

文件名都是以本人使用的来说了:1.首先要生成服务器端的私钥(key文件):openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:openssl rsa -in server.key -out server.key2.生成Certificate Signing Request(CSR)openssl req -new -key server.key -out server.csr -config f生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr -config f4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.openssl req -new -x509 -keyout ca.key -out ca.crt -config f5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config fOpenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config f现在我们所需的全部文件便生成了.另:client使用的文件有:ca.crt,client.crt,client.keyserver使用的文件有:ca.crt,server.crt,server.key.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)。

linux创建本地ip为域名的证书

linux创建本地ip为域名的证书

linux创建本地ip为域名的证书全文共四篇示例,供读者参考第一篇示例:在Linux系统中创建本地IP为域名的证书是一种比较特殊且有用的操作。

通常情况下,我们使用域名来访问网站或服务器,而不是直接使用IP地址。

但是有些情况下,我们可能需要将一个本地IP地址作为域名来访问,比如在开发环境中进行测试、本地网络中的一些内部服务等。

在这种情况下,我们可以自己创建一个证书,使得我们可以像访问普通网站一样访问这个本地IP地址。

在Linux系统中,我们可以使用openssl工具来创建自签名证书。

下面就是一个简单的步骤来创建一个本地IP为域名的证书。

第一步:生成私钥首先,我们需要生成一个私钥文件。

我们可以使用以下命令来生成一个私钥文件(假设我们的本地IP为192.168.1.1):openssl genrsa -out localhost.key 2048这条命令将会生成一个2048位的RSA私钥,并存储在localhost.key文件中。

第二步:生成证书签名请求(CSR)接下来,我们需要生成一个证书签名请求(CSR)文件。

我们可以使用以下命令来生成一个CSR文件:openssl req -new -key localhost.key -out localhost.csr在执行这条命令时,会先要求输入一些证书信息,比如国家、地区、组织、单位、公共名称等。

在公共名称的部分,我们需要输入我们的本地IP地址,也就是192.168.1.1。

第三步:生成自签名证书最后,我们可以使用以下命令来生成一个自签名的证书:openssl x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt在这条命令中,-days 365表示证书的有效期为365天。

最终生成的证书将会存储在localhost.crt文件中。

现在,我们已经成功地创建了一个本地IP为域名的证书。

Linux 生成SSL证书 供 nginx使用

Linux 生成SSL证书 供 nginx使用
} 进行访问,
server{
listen 443;
ssl on;
ssl_certificate /usr/local/webserver/nginx/conf/vhost/ssl/server.crt;
ssl_certificate_key /usr/local/webserver/nginx/conf/vhost/ssl/server.key;
Linux 生成SSL证书 供 nginx使用。
这里说下Linux 系统怎么通过openssl命令生成 证书。
首先执行如下命令生成一个key
openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。mv ssl.key xxx.key openssl rsa -in xxx.key -out ssl.key rm xxx.key 然后根据这个key文件生成证书请求文件openssl req -new -key ssl.key -out ssl.csr 以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)最后根据这2个文件生成crt证书文件openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt 这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。如果需要用pfx 可以用以下命令生成openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx 在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。ssl on; ssl_certificate /home/ssl.crt; ssl_certificate_key /home/ssl.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; 然后重启nginx就大功告成了

openssl使用流程

openssl使用流程

openssl使用流程OpenSSL使用流程介绍OpenSSL 是一个开源的加密工具包和安全通信协议实现库,提供了一系列的加密算法、SSL/TLS 防护和各种安全工具,广泛应用于网络通信、服务器配置、数字证书管理等各个领域。

本文将以OpenSSL 的使用流程为主题,一步一步详细回答。

一、准备工作1. 下载和安装OpenSSL:首先,我们需要从OpenSSL 的官方网站或其他可信来源下载并安装OpenSSL。

根据操作系统的不同,选择相应的版本进行下载和安装。

2. 生成RSA 密钥对:在开始使用OpenSSL 之前,建议先生成一对RSA 密钥对,用于后续的加密和解密操作。

在命令行中输入以下命令可以生成一个2048 位的RSA 密钥对:openssl genrsa -out private.key 2048该命令将生成一个名为private.key 的私钥文件,其中包含了生成的RSA 私钥。

接着,可以使用以下命令生成对应的公钥文件:openssl rsa -in private.key -pubout -out public.key这将生成一个名为public.key 的公钥文件,其中包含了与私钥对应的RSA 公钥。

二、公钥加密和私钥解密1. 加密数据:使用公钥加密数据是一种常见的操作,可以保证数据在传输过程中的机密性。

在命令行中输入以下命令可以使用公钥对数据进行加密:openssl rsautl -encrypt -pubin -inkey public.key -in plaintext.txt -out ciphertext.enc该命令将使用public.key 中的公钥对plaintext.txt 中的明文数据进行加密,并将密文数据存储到ciphertext.enc 文件中。

2. 解密数据:解密数据需要使用对应的私钥进行操作。

在命令行中输入以下命令可以使用私钥对密文数据进行解密:openssl rsautl -decrypt -inkey private.key -in ciphertext.enc -out plaintext.txt该命令将使用private.key 中的私钥对ciphertext.enc 中的密文数据进行解密,并将解密后的明文数据存储到plaintext.txt 文件中。

使用openssl生成证书

使用openssl生成证书

使⽤openssl⽣成证书⼀、openssl 简介openssl 是⽬前最流⾏的 SSL 密码库⼯具,其提供了⼀个通⽤、健壮、功能完备的⼯具套件,⽤以⽀持SSL/TLS 协议的实现。

官⽹:构成部分1. 密码算法库2. 密钥和证书封装管理功能3. SSL通信API接⼝⽤途1. 建⽴ RSA、DH、DSA key 参数2. 建⽴ X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表)3. 计算消息摘要4. 使⽤各种 Cipher加密/解密5. SSL/TLS 客户端以及服务器的测试6. 处理S/MIME 或者加密邮件⼆、RSA密钥操作默认情况下,openssl 输出格式为 PKCS#1-PEM⽣成RSA私钥(⽆加密)openssl genrsa -out rsa_private.key 2048⽣成RSA公钥openssl rsa -in rsa_private.key -pubout -out rsa_public.key⽣成RSA私钥(使⽤aes256加密)openssl genrsa -aes256 -passout pass:111111 -out rsa_aes_private.key 2048其中 passout 代替shell 进⾏密码输⼊,否则会提⽰输⼊密码;⽣成加密后的内容如:-----BEGIN RSA PRIVATE KEY-----Proc-Type: 4,ENCRYPTEDDEK-Info: AES-256-CBC,5584D000DDDD53DD5B12AE935F05A007Base64 Encoded Data-----END RSA PRIVATE KEY-----此时若⽣成公钥,需要提供密码openssl rsa -in rsa_aes_private.key -passin pass:111111 -pubout -out rsa_public.key其中 passout 代替shell 进⾏密码输⼊,否则会提⽰输⼊密码;转换命令私钥转⾮加密openssl rsa -in rsa_aes_private.key -passin pass:111111 -out rsa_private.key私钥转加密openssl rsa -in rsa_private.key -aes256 -passout pass:111111 -out rsa_aes_private.key私钥PEM转DERopenssl rsa -in rsa_private.key -outform der-out rsa_aes_private.der-inform和-outform 参数制定输⼊输出格式,由der转pem格式同理查看私钥明细openssl rsa -in rsa_private.key -noout -text使⽤-pubin参数可查看公钥明细私钥PKCS#1转PKCS#8openssl pkcs8 -topk8 -in rsa_private.key -passout pass:111111 -out pkcs8_private.key其中-passout指定了密码,输出的pkcs8格式密钥为加密形式,pkcs8默认采⽤des3 加密算法,内容如下:-----BEGIN ENCRYPTED PRIVATE KEY-----Base64 Encoded Data-----END ENCRYPTED PRIVATE KEY-----使⽤-nocrypt参数可以输出⽆加密的pkcs8密钥,如下:-----BEGIN PRIVATE KEY-----Base64 Encoded Data-----END PRIVATE KEY-----三、⽣成⾃签名证书⽣成 RSA 私钥和⾃签名证书openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crtreq是证书请求的⼦命令,-newkey rsa:2048 -keyout private_key.pem 表⽰⽣成私钥(PKCS8格式),-nodes 表⽰私钥不加密,若不带参数将提⽰输⼊密码;-x509表⽰输出证书,-days365 为有效期,此后根据提⽰输⼊证书拥有者信息;若执⾏⾃动输⼊,可使⽤-subj选项:openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crt -subj "/C=CN/ST=GD/L=SZ/O=vihoo/OU=dev/CN=/emailAddress=yy@"使⽤已有RSA 私钥⽣成⾃签名证书openssl req -new -x509 -days 365 -key rsa_private.key -out cert.crt-new 指⽣成证书请求,加上-x509 表⽰直接输出证书,-key 指定私钥⽂件,其余选项与上述命令相同四、⽣成签名请求及CA 签名使⽤ RSA私钥⽣成 CSR 签名请求openssl genrsa -aes256 -passout pass:111111 -out server.key 2048openssl req -new -key server.key -out server.csr此后输⼊密码、server证书信息完成,也可以命令⾏指定各类参数openssl req -new -key server.key -passin pass:111111 -out server.csr -subj "/C=CN/ST=GD/L=SZ/O=vihoo/OU=dev/CN=/emailAddress=yy@"*** 此时⽣成的 csr签名请求⽂件可提交⾄ CA进⾏签发 ***查看CSR 的细节cat server.csr-----BEGIN CERTIFICATE REQUEST-----Base64EncodedData-----END CERTIFICATE REQUEST-----openssl req -noout -text -in server.csr使⽤ CA 证书及CA密钥对请求签发证书进⾏签发,⽣成 x509证书openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -passin pass:111111 -CAcreateserial -out server.crt其中 CAxxx 选项⽤于指定CA 参数输⼊五、证书查看及转换查看证书细节openssl x509 -in cert.crt -noout -text转换证书编码格式openssl x509 -in cert.cer -inform DER -outform PEM -out cert.pem合成 pkcs#12 证书(含私钥)** 将 pem 证书和私钥转 pkcs#12 证书 **openssl pkcs12 -export -in server.crt -inkey server.key -passin pass:111111 -password pass:111111 -out server.p12其中-export指导出pkcs#12 证书,-inkey 指定了私钥⽂件,-passin 为私钥(⽂件)密码(nodes为⽆加密),-password 指定 p12⽂件的密码(导⼊导出)** 将 pem 证书和私钥/CA 证书合成pkcs#12 证书**openssl pkcs12 -export -in server.crt -inkey server.key -passin pass:111111 \-chain -CAfile ca.crt -password pass:111111 -out server-all.p12其中-chain指⽰同时添加证书链,-CAfile 指定了CA证书,导出的p12⽂件将包含多个证书。

linux中openssl生成证书和自签证书linux操作系统-电脑资料

linux中openssl生成证书和自签证书linux操作系统-电脑资料

linux中openssl生成证书和自签证书linux操作系统-电脑资料下面来给大家介绍关于linux中openssl生成证书和自签证书的例子,整个过程都讲述的非常详细有兴趣的朋友可进入参考,。

1.首先要生成服务器端的私钥(key文件):代码如下复制代码openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:代码如下复制代码openssl rsa -in server.key -out server.key2.openssl req -new -key server.key -out server.csr -config f生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:代码如下复制代码openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr -config f4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.代码如下复制代码openssl req -new -x509 -keyout ca.key -out ca.crt -config f5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:代码如下复制代码openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config fopenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config f现在我们所需的全部文件便生成了.另:client使用的文件有:ca.crt,client.crt,client.keyserver使用的文件有:ca.crt,server.crt,server.key.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)以下步骤非必须代码如下复制代码[root@station23 CA]# mkdir ./newcerts[root@station23 CA]# touch ./{serial,index.txt}[root@station23 CA]# echo "00" > serial如果忘记以上操作,CA在签证时会出现如下错误,解决方法如下:代码如下复制代码[root@station23 test]# openssl ca -in my.csr -out ldap.crtUsing configuration from /etc/pki/tls/fI am unable to access the /etc/pki/CA/newcerts directory/etc/pki/CA/newcerts: No such file or directory[root@station23 test]# mkdir /etc/pki/CA/newcerts[root@station23 test]# openssl ca -in my.csr -out ldap.crtUsing configuration from /etc/pki/tls/f/etc/pki/CA/index.txt: No such file or directoryunable to open '/etc/pki/CA/index.txt'23016:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/pki/CA/index.txt','r') 23016:error:20074002:BIO routines:FILE_CTRL:systemlib:bss_file.c:354:[root@station23 test]# touch /etc/pki/CA/index.txt[root@station23 test]# openssl ca -in my.csr -out ldap.crtUsing configuration from /etc/pki/tls/f/etc/pki/CA/serial: No such file or directoryerror while loading serial number23031:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/pki/CA/serial','r')23031:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:[root@station23 test]# touch /etc/pki/CA/serial[root@station23 test]# echo 00 > /etc/pki/CA/serial。

Linux下用Openssl生成证书

Linux下用Openssl生成证书

用openssl签发ssl x.509证书Linux及Openssl版本:首先在/home目录下建立ssl目录:cd /homemkdir sslcd ssl建立几个要用到的目录:mkdir private certs newcerts crl其中private主要用来存放私钥的.certs用于存入签出的证书cp /usr/share/ssl/f .将配置文件复制到当前目录构建相关文件:echo 构建索引文件index.txtecho 0>index.txtecho 构建序列号文件serialecho 01>serial设定环境变量export OPENSSL_CONF="/home/ssl/f" 更改f中的配置:dir = /home/ssl产生一个随机数文件:openssl rand -out /home/ssl/private/.rand 1000下面才开始建立根证书:1.制作私钥:openssl genrsa -des3 -out private/ca.key.pem 2048这来细细讲一下这条命令:openssl指进入openssl环境,genrsa 是openssl中的一个小应用程序,用来产生rsa私钥。

-des3是指将产生的私钥用triple DES进行加密。

这是个可选项,还有-des -idea都是对称加密算法,随你自己选择. -out就是指定输出了,如果不加这个选项的话,就会将输出发到标准输出中.2048指私钥的长度,单们是bit,默认是512输入这条命令后,产生私钥,提示你设定密码.2.填写证书申请表:openssl req -new -key private/ca.key.pem -out ca.req.pem 提示你私钥的密码,一步一步输入就行了。

因为证书中要有公钥,和个人信息,所以我们指定私钥,程序推导出公钥,供申请表用。

3.自己签定根签书:openssl x509 -req -days 1000 -sha1 -extensions v3_ca -signkey private/ca.key.pem -in ca.req.pem -out certs/ca.crt.pem其中的days是指证书的有效天数,shda1是消息摘要函数算法,默入为md5,-signkey指定用于签证的私钥,运行过程中,要输入私钥的密码和设定书密码。

Linux下如何颁发证书:学习使用OpenSSL搭建一个CA

Linux下如何颁发证书:学习使用OpenSSL搭建一个CA

下面是用OpenSSL这个强大的工具,在Linux下构建一个CA,来实现证书管理,我们用一个web服务器端作为需要证书的客户端1.首先我们来给CA生成一个私钥切换到/etc/pki/CA/目录,使用openssl命令给自己生成一个私钥1.[root@ openssl]# cd /etc/pki/CA/2.[root@ CA]# ls3.private4.[root@ CA]# (umak 66;openssl genrsa 2046 > private/cakey.pem)5.-bash: umak: command not found6.Generating RSA private key, 2046 bit long modulus7..............................+++8...+++9. e is 65537 (0x10001)2. CA需要一个自签证书,所以我们给它使用openssl命令生成一个自签证书1.[root@ CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem2.You are about to be asked to enter information that will be incorporated3.into your certificate request.4.What you are about to enter is what is called a Distinguished Name or a DN.5.There are quite a few fields but you can leave some blank6.For some fields there will be a default value,7.If you enter '.', the field will be left blank.8.-----9.Country Name (2 letter code) [GB]:CN # 输入你的各项信息,国家,省或州,地区,公司,单位,域名,邮箱地址10.State or Province Name (full name) [Berkshire]:Henan11.Locality Name (eg, city) [Newbury]:Zhengzhouanization Name (eg, company) [My Company Ltd]:LINUXanizational Unit Name (eg, section) []:Techmon Name (eg, your name or your server's hostname) []: #需要注意的是,这个域名是FQDN(完全限定域名)15.Email Address []:ca@16.[root@ CA]# ls17.cacert.pem private3.编辑CA配置文件,它位于etc/pki/tls/f,它的作用是指定你的CA所在目录,更改默认属性值1.[root@ CA]# vim /etc/pki/tls/f2.[ CA_default ]3.4.dir = ../../CA # Where everything is kept **************CA路径,修改为绝对路径5.certs = $dir/certs # Where the issued certs are kept ×××××××发给其他的人的证书,该目录需要手动创建6.crl_dir = $dir/crl # Where the issued crl are kept ××××××证书吊销列表不属于必须创建的目录7.database = $dir/index.txt # database index file. *****************存放生成证书文件索引需要手动创建的文件8.#unique_subject = no # Set to 'no' to allow creation of9. # several ctificates with same subject.10.new_certs_dir = $dir/newcerts # default place for new certs. ××××××××××x新生成的证书存放地需要手动创建11.certificate = $dir/cacert.pem # The CA certificate12.serial = $dir/serial # The current serial number ××××××序列号,需要自己建每一个证书都有一个序列号需要自己建,并指定从几开始13.crlnumber = $dir/crlnumber # the current crl number14. # must be commented out to leave a V1 CRL15.crl = $dir/crl.pem # The current CRL16.private_key = $dir/private/cakey.pem# The private key17.RANDFILE = $dir/private/.rand # private random number file18.x509_extensions = usr_cert # The extentions to add to the cert19.# req_extensions = v3_req # The extensions to add to a certificate request20.#########修改证书CSR与自己的匹配21.[ req_distinguished_name ]22.countryName = Country Name (2 letter code)23.countryName_default = CN #我修改为CN和CA的自签证书对应24.countryName_min = 225.countryName_max = 226.27.stateOrProvinceName = State or Province Name (full name)28.stateOrProvinceName_default = Henan #同上29.30.localityName = Locality Name (eg, city)31.localityName_default = Zhengzhou #同上32.anizationName = Organization Name (eg, company)anizationName_default = Tech #同上4.创建CA的相关目录和文件,指定序列号起始数字,在上一步已经说明,它们在CA所在目录创建1.[root@ ~]# cd /etc/pki/CA/2.[root@ CA]# mkdir certs crl newcerts3.[root@ CA]# ls4.cacert.pem certs crl newcerts private5.[root@ CA]# touch index.txt serial6.[root@ CA]# echo 01 > serial5. 创建web服务器的私钥,因为是实验,所有并不需要安装web服务器,你可以创建一个ssl目录,我们假设它是一个web服务器1.[root@ CA]# cd /etc/httpd/2.[root@ httpd]# mkdir ssl3.[root@ httpd]# cd ssl/4.[root@ ssl]# (umask 66;openssl genrsa 2048 > web.key)5.Generating RSA private key, 2048 bit long modulus6. 客户端(web服务器)请求获得证书,客户端如果想申请获得证书的话,需要创建一个申请证书,传递给CA1.[root@ ssl]# openssl req -new -key web.key -out web.csr2.You are about to be asked to enter information that will be incorporated3.into your certificate request.4.What you are about to enter is what is called a Distinguished Name or a DN.5.There are quite a few fields but you can leave some blank6.For some fields there will be a default value,7.If you enter '.', the field will be left blank.8.-----9.Country Name (2 letter code) [CN]:10.State or Province Name (full name) [Henan]:11.Locality Name (eg, city) [Zhengzhou]:anization Name (eg, company) [RHCE]:anizational Unit Name (eg, section) [Tech]:mon Name (eg, your name or your server's hostname) []:15.Email Address []:www@16.17.Please enter the following 'extra' attributes18.to be sent with your certificate request19.A challenge password []: # 请求证书需要在网络上传递,所以加密防止别人窥探,这里留空因为我们只是实验20.An optional company name []:7. 在CA端给客户端颁发证书,使用openssl命令1.[root@ ssl]# openssl ca -in web.csr -out web.crt # 这个命令执行后,会显示请求证书里的信息ing configuration from /etc/pki/tls/f3.Check that the request matches the signature4.Signature ok5.Certificate Details:6. Serial Number: 1 (0x1)7. Validity8. Not Before: Aug 9 04:46:25 2011 GMT9. Not After : Aug 8 04:46:25 2012 GMT10. Subject:11. countryName = CN12. stateOrProvinceName = Henan13. organizationName = RHCE14. organizationalUnitName = Tech15. commonName = 16. emailAddress = www@17. X509v3 extensions:18. X509v3 Basic Constraints:19. CA:FALSE20. Netscape Comment:21. OpenSSL Generated Certificate22. X509v3 Subject Key Identifier:23. B6:52:27:11:5B:BA:84:C8:56:4D:67:D7:B9:7A:CB:FE:45:CF:5A:0224. X509v3 Authority Key Identifier:25. keyid:5C:4A:A2:EB:DD:3F:BB:08:41:A2:02:3F:98:A4:59:8B:78:47:AF:4F26.Certificate is to be certified until Aug 8 04:46:25 2012 GMT (365 days)27.Sign the certificate? [y/n]:y # 是否认同这个请求的客户端,并授予证书28.29.1 out of 1 certificate requests certified, commit? [y/n]y # 升级证书数据库30.Write out database with 1 new entries31.Data Base Updated好了,看一下我们的证书把!就是那个.crt结尾的文件1.[root@ ssl]# ls2.server.key web.crt web.csr web.key。

openssl生成证书及吊销列表

openssl生成证书及吊销列表

openssl生成证书及吊销列表一,先来讲讲基本概念。

证书分类:按类型可以分为CA证书和用户用户证书,我们我说的root也是特殊的CA证书。

用户证书又可以根据用途分类,放在服务器端的称为服务器证书,放在客户端一般称为客户端证书(这种说法不是很准确,只是一种理解。

实际应该是在对客户端认证时才会用到客户端证书且root、ca证书都可以放在客户端),记住,这两种证书都应为用户证书。

一般可以理解为证书由key和证书(没有key的文件也称为证书)组成,谁拥有这两个东西才真正拥有这个证书。

好比锁是有钥匙和锁头组成的,你得两都有。

你只有锁头锁住东西,却没有钥匙打开,也没什么用。

如果你对证书不了解,那一定要知道证书这三点作用(纯个人认为比较重要三点):1,签名:通过签名技术可以保证证书拥有者的唯一性,而且所有信息没有被篡改。

想了解数字签名的自己百度一下。

2,提供公钥:通过签名技术知道证书拥有者是A,且所有信息都是A,就可以拿到A的公钥算法及公钥。

所以有些人理解为证书就是一个公钥(个人认为这种理解与实际偏差较大)。

3,颁发者:找到颁发者很重要,每个证书都有一个颁发者。

这个在证书认证时用得到。

对于用户(人)来说还是通过证书名称来区分证书,下面讲解几种常见的证书。

a).cert或.crt文件:这种证书倒是可以理解为公钥证书,因为它最主要的作用就是来提供公钥的,只是一种理解,签名认证这些作用一样不会少。

这种文件不含有key,就好像一个打开的锁头,可以发给任何人。

所以拥有.cer或.crt文件的不是真正的拥有者,因为你可以用证书里的公钥加密,但并没有私钥解密。

b).pfx文件:这种证书文件可以理解为.cer文件与key结合体,即拥有.pfx证书相当同时拥有公钥与私钥。

即可以加密也可以解密。

c).key文件:就是钥匙啦。

锁头可以给任何人,但是钥匙只能自己保留,所以这玩意一定要保存好。

d).p7b文件:为证书链文件,也不含私钥。

openssl生成ssl证书

openssl生成ssl证书

x509证书链x509证书一般会用到三类文件,key,csr,crt。

Key 是私用密钥,openssl格式,通常是rsa算法。

csr是证书请求文件,用于申请证书。

在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。

crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。

1.key的生成openssl genrsa -des3 -out server.key 2048这样是生成rsa私钥,des3算法,openssl格式,2048位强度。

server.key是密钥文件名。

为了生成这样的密钥,需要一个至少四位的密码。

可以通过以下方法生成没有密码的key:openssl rsa -in server.key -out server.keyserver.key就是没有密码的版本了。

2. 生成CA的crtopenssl req -new -x509 -key server.key -out ca.crt -days 3650生成的ca.crt文件是用来签署下面的server.csr文件。

3.csr的生成方法:openssl req -new -key server.key -out server.csr需要依次输入国家,地区,组织,email。

最重要的是,有一个common name,可以写你的名字或者域名。

如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。

生成的csr文件交给CA签名后形成服务端自己的证书。

4.crt生成方法CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt输入key的密钥后,完成证书生成。

Linux下OpenSSL客户端中使用req命令来生成证书的教程

Linux下OpenSSL客户端中使用req命令来生成证书的教程

Linux下OpenSSL客户端中使用req命令来生成证书的教程作者:Gordon0918 字体:[增加减小] 来源:开源中文社区时间:04-22 11:56:58我要评论这篇文章主要介绍了Linux下OpenSSL客户端中使用req命令来生成证书的教程,详细讲解了自动生成密钥和生成自签名证书的方法,需要的朋友可以参考下openssl req 用于生成证书请求,以让第三方权威机构CA来签发,生成我们需要的证书。

req 命令也可以调用x509命令,以进行格式转换及显示证书文件中的text,modulus等信息。

如果你还没有密钥对,req命令可以一统帮你生成密钥对和证书请求,也可以指定是否对私钥文件进行加密。

1、密钥、证书请求、证书概要说明在证书申请签发过程中,客户端涉及到密钥、证书请求、证书这几个概念,初学者可能会搞不清楚三者的关系,网上有的根据后缀名来区分三者,更让人一头雾水。

我们以申请证书的流程说明三者的关系。

客户端(相对于CA)在申请证书的时候,大体上有三个步骤:第一步:生成客户端的密钥,即客户端的公私钥对,且要保证私钥只有客户端自己拥有。

第二步:以客户端的密钥和客户端自身的信息(国家、机构、域名、邮箱等)为输入,生成证书请求文件。

其中客户端的公钥和客户端信息是明文保存在证书请求文件中的,而客户端私钥的作用是对客户端公钥及客户端信息做签名,自身是不包含在证书请求中的。

然后把证书请求文件发送给CA机构。

第三步:CA机构接收到客户端的证书请求文件后,首先校验其签名,然后审核客户端的信息,最后CA机构使用自己的私钥为证书请求文件签名,生成证书文件,下发给客户端。

此证书就是客户端的身份证,来表明用户的身份。

至此客户端申请证书流程结束,其中涉及到证书签发机构CA,CA是被绝对信任的机构。

如果把客户端证书比作用户身份证,那么CA就是颁发身份证的机构,我们以https为例说明证书的用处。

为了数据传输安全,越来越多的网站启用https。

RPM安装httpd openssl mod_ssl后生成密钥、CSR、CA和证书过程

RPM安装httpd openssl mod_ssl后生成密钥、CSR、CA和证书过程

RPM安装httpd+openssl+mod_ssl后生成密钥、CSR、CA和证书过程一、制作密钥(私钥)1、cd /etc/httpd/conf/ssl.key2、openssl genrsa [-des3] –out test.local.key [1024]二、生成CSR1、cd ../ssl.scr2、openssl req –new –key ../ssl.key/test.local.key –out ./test.local.csr三、创建CA1、cd /etc/httpd/conf/ssl.prm2. /usr/share/ssl/misc/CA –newca此时,会在/etc/httpd/conf/ssl.prm/demoCA目录下生成CA公钥(cacert.prm),私钥(private/cakey.prm),以及目录certs,crl,newcerts,private, 文件index.txt和serial 。

四、用CA密钥签发CSR请求,生成CRT证书1、cd /etc/httpd/conf/ssl.prm2. openssl ca –in ../ssl.csr/test.local.csr –out ../ssl.crt/test.local.crt –days 365 –config /usr/share/ssl/f还可以用参数-keyfile来指定CA密钥(cakey.prm)的位置,-cert来指定CA证书(cacert.prm)的位置。

可以通过openssl ca –help来看帮助。

或者,自签发CRT证书:1)cd /etc/httpd/conf ; 2) openssl req –x509 –key ./ssl.key/test.local.key –in ./ssl.csr/test.local.csr –out ./ssl.crt/test.local.crt至此,我们已经为apache生成了SSL密钥、CSR和CRT了。

利用openssl工具生成根证书及颁发子证书

利用openssl工具生成根证书及颁发子证书

利用openssl工具生成根证书及颁发子证书一 ) 首先创建CA根证书1) 生成RSA private key 给CA (3 DES 加密, PEM 格式):$ openssl genrsa -des3 -out rootca.key 10242) 产生一个X509结构,PEM格式的自签名证书(当然也可以由CA机构签名)$ openssl req -new -x509 -days 365 -key rootca.key -out rootca.crt3) 查看该根证书的详细内容$ openssl x509 -noout -text -in rootca.crt4) 验证证书有效性$ openssl verify -CAfile rootca.crt rootca.crt第一个为根证书,第二个为需要验证的子证书,由于是自签名,相当于自己给自己颁发的证书。

二 ) 用根证书颁发子证书1) 生成一个3DES 加密,PEM格式的RSA private KEY .$ openssl genrsa -des3 -out user.key 10242) 产生证书签名请求文件(PEM格式)$ openssl req -new -key user.key -out user.csr3) 使用CA根证书签名A 生成配置文件如下ca.config :[ ca ]default_ca=CA_own[ CA_own ]dir=C:/openssl/bincerts=C:/openssl/binnew_certs_dir=C:/openssl/bin //生成子证书的目录database=C:/openssl/bin/index.txt //生成子证书后会更新内容到此文件serial=C:/openssl/bin/serial.txt //子证书的序列号从此文件读取certificate=C:/openssl/bin/rootca.crt //根证书private_key=C:/openssl/bin/rootca.key //根证书的私钥default_days=365default_crl_days=30default_md=md5preserve=nopolicy=policy_anything[ policy_anything ]countryName=optionalstateOrProvinceName=optionallocalityName=optionalorganizationName=optional organizationalUnitName=optional commonName=suppliedemailAddress=optionalB 执行如下命令来签名openssl ca -config ca.config -out user.crt -infiles user.csr4) 验证证书有效性openssl verify -CAfile rootca.crt user.crt用rootca.crt的公钥验证user.crt的签名是否合法。

linux生成证书 证书内容

linux生成证书 证书内容

linux生成证书证书内容
在Linux上生成证书可以使用OpenSSL工具。

下面是一个例子来生成一个自签名的SSL证书:
1. 打开终端窗口。

2. 运行以下命令创建一个自签名的根证书私钥(private key)和证书请求(certificate request)文件:
```shell
openssl req -newkey rsa:2048 -nodes -keyout root.key -out root.csr
```
在运行该命令后,你需要提供一些信息,如国家代码、组织名称、Common Name(通用名称,一般为域名)等。

在这个例子中,我们使用默认值。

这将会生成一个名为"root.key"的私钥文件和一个名为"root.csr"的证书请求文件。

3. 接下来,使用以下命令创建一个自签名的根证书:
```shell
openssl x509 -req -in root.csr -signkey root.key -out root.crt
```
这将会生成一个名为"root.crt"的根证书文件。

通过这些步骤,你将在当前目录下生成了一个自签名的根证书文件(root.crt)以及相关的私钥文件(root.key)和证书请求文件(root.csr)。

请注意,这些证书是自签名的,因此在实际使用时可能会被浏览器或其他软件识别为不受信任的证书。

linux搭建https服务器 电脑资料

linux搭建https服务器 电脑资料

linux搭建 s效劳器电脑资料一、安装准备1. 安装Openssl要使Apache支持SSL,需要首先安装Openssl支持,下载Openssl:.openssl/source/tar -zxf openssl-0.9.8k.tar.gz //解压安装包cd openssl-0.9.8k //进入已经解压的安装包./config //配置安装。

推荐使用默认配置make && make install //编译及安装openssl默认将被安装到/usr/local/ssl2. 安装Apache从d.apache/下载d源代码,这里使用的是d2.2.22;./configure --prefix=/usr/local/d2.2.22 --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-mods-shared=all //配置安装。

推荐动态编译模块make && make install动态编译Apache模块,便于模块的加载。

Apache 将被安装到/usr/local/apache二、生成证书为了快速搭建好可用的s效劳器,需要在/usr/local/d2.2.22/conf/目录下(也可以在别的目录下生成,将生成后的文件拷贝到/usr/local/d2.2.22/conf/目录下)依次运行以下命令:1. openssl req -new -text -out server.req2. openssl rsa -in privkey.pem -out server.key3. openssl req -x509 -in server.req -text -key server.key -out server.crt具体的可以参考openssl文档;三、 Apache 的配置翻开apache安装目录下conf目录中的d.conf文件,找到#LoadModule sslmodule modules/modssl.so删除行首的配置语句注释符号“#”保存退出,翻开apache安装目录下conf目录中的ssl.conf文件,找到在配置文件中查找以下配置语句SSLCertificateFile conf/ssl.crt/server.crt 将效劳器证书配置到该路径下SSLCertificateKeyFile conf/ssl.key/server.key 将效劳器证书私钥配置到该路径下#SSLCertificateChainFile conf/ssl.crt/ca.crt 删除行首的“#”号注释符,并将中级CA证书intermediate.crt配置到该路径下保存退出,并重启Apache。

linux 自签证书流程

linux 自签证书流程

linux 自签证书流程Linux自签证书流程引言:自签证书是一种由自己生成的数字证书,用于在加密通信中验证服务器或客户端的身份。

在Linux系统中,我们可以使用OpenSSL工具来生成和签名自己的证书。

本文将介绍如何在Linux系统中使用OpenSSL工具来自签数字证书,并提供一步一步的指导。

第一步:安装OpenSSL要开始生成自签证书,首先需要在Linux系统上安装OpenSSL工具。

在大多数Linux发行版上,可以使用包管理器来安装OpenSSL。

具体命令可能因发行版而异,下面是一些常用发行版上的安装命令示例:- Debian/Ubuntu:sudo apt-get install openssl- CentOS/Fedora:sudo yum install openssl- Arch Linux:sudo pacman -S openssl- openSUSE:sudo zypper install openssl第二步:生成私钥生成自签证书的第一步是生成一个私钥。

私钥是一个关键的安全文件,用于对证书进行加密和解密操作。

使用以下命令在Linux系统中生成一个私钥:openssl genpkey -algorithm RSA -out private.key此命令将使用RSA算法生成一个私钥,并将其保存在名为private.key的文件中。

您可以将privte.key替换为您喜欢的任何文件名。

第三步:生成证书请求生成私钥后,下一步是生成一个证书请求。

证书请求是包含有关服务器或客户端身份信息的文件,用于生成数字证书。

以下是在Linux系统上生成证书请求的命令:openssl req -new -key private.key -out request.csr此命令将使用前面生成的私钥文件private.key生成一个证书请求,并将其保存在名为request.csr的文件中。

您可以将request.csr替换为您喜欢的任何文件名。

openssl使用引擎 申请证书

openssl使用引擎 申请证书

一、概述在网络通信中,安全性是至关重要的。

为了确保数据的安全传输,使用SSL/TLS证书是一种十分常见的方法。

而openssl是一个开源的加密工具包,可以用来生成、管理和验证SSL/TLS证书。

在openssl 中,使用引擎来生成证书是一种高效的方法。

本文将介绍openssl如何使用引擎来申请证书。

二、openssl引擎概述1. 什么是openssl引擎openssl引擎是一种用于加密和解密操作的软件组件,它可以被openssl库动态加载。

引擎通常用于加速和优化SSL/TLS证书的生成和管理过程,能够提高证书生成的效率和安全性。

2. openssl引擎的种类openssl引擎有多种不同类型,包括软件引擎和硬件引擎。

软件引擎是在软件中实现的算法加速引擎,而硬件引擎则是通过专用的加密硬件实现的。

在openssl中,通过使用不同的引擎可以实现更高效的证书生成和管理过程。

三、使用引擎申请证书的步骤1. 下载和安装openssl在使用openssl引擎之前,首先需要下载和安装openssl工具包。

可以从openssl冠方全球信息站上下载最新版本的openssl工具包,并按照安装说明进行安装。

2. 配置openssl引擎在安装openssl工具包后,需要配置openssl引擎。

通过编辑openssl配置文件,可以指定要使用的引擎类型和参数。

3. 生成证书请求使用openssl工具包中的命令行工具,可以生成证书请求文件。

在生成证书请求时,可以选择指定要使用的openssl引擎,以加速证书生成的过程。

4. 提交证书请求将生成的证书请求文件提交给证书颁发机构(CA),等待CA签发的SSL/TLS证书。

5. 安装证书一旦CA签发了证书,将证书安装到服务器上,使得服务器可以使用生成的SSL/TLS证书进行安全通信。

四、openssl引擎的优势和应用场景1. 优势使用openssl引擎可以提高证书生成和管理的效率。

尤其在大型网络系统中,通过使用引擎可以显著缩短证书生成的时间,提高系统的安全性和可靠性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux下利用openssl 生成SSL证书步骤1、概念首先要有一个CA根证书,然后用CA根证书来签发用户证书。

用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。

2、后缀详解.key格式:私有的密钥.csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request 的缩写.crt格式:证书文件,certificate的缩写.crl格式:证书吊销列表,Certificate Revocation List的缩写.pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式3、添加 index.txt 和 serial 文件cd /etc/pki/CA/touch /etc/pki/CA/index.txttouch /etc/pki/CA/serialecho 01 > /etc/pki/CA/serial4、CA根证书的生成4.1 生成CA私钥(.key)openssl genrsa -out ca.key 2048[root@CA]# openssl genrsa -out ca.key 2048Generating RSA private key, 2048 bit long modulus.............+++.....+++e is 65537 (0x10001)4.2 生成CA证书请求(.csr)openssl req -new -key ca.key -out ca.csr[root@CA]# openssl req -new -key ca.key -out ca.csrYou are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:USState or Province Name (full name) []:ORLocality Name (eg, city) [Default City]:OROrganization Name (eg, company) [Default Company Ltd]:LXOROrganizational Unit Name (eg, section) []:LXORAQCommon Name (eg, your name or your server's hostname) []:Email Address []:eg@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:demon2234An optional company name []:OR4.3 自签名得到根证书(.crt)(CA给自已颁发的证书)openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt[root@CA]# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt Signature oksubject=/C=US/ST=OR/L=OR/O=LXOR/OU=LXORAQ/CN=/emailAddress=eg@ Getting Private key5、用户证书的生成5.1 生成私钥(.key)openssl genrsa -des3 -out server.key 1024[root@CA]# openssl genrsa -des3 -out server.key 1024Generating RSA private key, 1024 bit long modulus........++++++...................++++++e is 65537 (0x10001)Enter pass phrase for server.key:Verifying - Enter pass phrase for server.key:5.2 生成证书请求(.csr)openssl req -new -key server.key -out server.csr[root@CA]# openssl req -new -key server.key -out server.csrEnter pass phrase for server.key:You are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:USState or Province Name (full name) []:ORLocality Name (eg, city) [Default City]:OROrganization Name (eg, company) [Default Company Ltd]:LXOROrganizational Unit Name (eg, section) []:LXORAQCommon Name (eg, your name or your server's hostname) []:Email Address []:eg@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:demon2234An optional company name []:OR5.3 用CA根证书签名得到证书(.crt)o penssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key[root@CA]# openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key Using configuration from /etc/pki/tls/fCheck that the request matches the signatureSignature okCertificate Details:Serial Number: 3 (0x3)ValidityNot Before: Mar 13 07:01:44 2018 GMTNot After : Mar 13 07:01:44 2019 GMTSubject:countryName = USstateOrProvinceName = ORorganizationName = LXORorganizationalUnitName = LXORAQcommonName = emailAddress = eg@X509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier:11:62:12:26:6C:1C:56:CD:9D:B2:6A:65:06:24:57:27:3E:5C:BC:EAX509v3 Authority Key Identifier:DirName:/C=US/ST=OR/L=OR/O=LXOR/OU=LXORAQ/CN=/emailAddress=eg@ serial:C9:6E:10:F7:A5:40:8F:1DCertificate is to be certified until Mar 13 07:01:44 2019 GMT (365 days)Sign the certificate? [y/n]:yfailed to update database//错误提示,解决方法将/etc/pki/CA目录下的index.txt文件删除,重TXT_DB error number 2新创建一个index.txt文件。

原因是openssl无法同时建两个crt 文件所以在创建完server.crt 后报错,如果不删除index.txt文件,在建立client.crt时也会报错。

正确操作提示:[root@CA]# openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key Using configuration from /etc/pki/tls/fCheck that the request matches the signatureSignature okCertificate Details:Serial Number: 4 (0x4)ValidityNot Before: Mar 13 07:13:01 2018 GMTNot After : Mar 13 07:13:01 2019 GMTSubject:countryName = USstateOrProvinceName = ORorganizationName = LXORorganizationalUnitName = LXORAQcommonName = emailAddress = eg@X509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier:9E:D9:C9:C7:E9:FE:C6:3D:5F:9A:B1:B6:24:1F:2F:6E:C9:C9:4B:4CX509v3 Authority Key Identifier:DirName:/C=US/ST=OR/L=OR/O=LXOR/OU=LXORAQ/CN=/emailAddress=eg@ serial:C9:6E:10:F7:A5:40:8F:1DCertificate is to be certified until Mar 13 07:13:01 2019 GMT (365 days)Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base Updated6、客户端用户证书6.1 生成私钥(.key)openssl genrsa -des3 -out client.key 1024[root@CA]# openssl genrsa -des3 -out client.key 1024Generating RSA private key, 1024 bit long modulus ...................................++++++ .....................................++++++e is 65537 (0x10001)Enter pass phrase for client.key:Verifying - Enter pass phrase for client.key:6.2 生成证书请求(.csr)openssl req -new -key client.key -out client.csr[root@CA]# openssl req -new -key client.key -out client.csrEnter pass phrase for client.key:You are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:USState or Province Name (full name) []:ORLocality Name (eg, city) [Default City]:OROrganization Name (eg, company) [Default Company Ltd]:LXOROrganizational Unit Name (eg, section) []:LXORAQCommon Name (eg, your name or your server's hostname) []:Email Address []:eg@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:demon2234An optional company name []:OR6.3 用CA根证书签名得到证书(.crt)openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key[root@CA]# openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key Using configuration from /etc/pki/tls/fCheck that the request matches the signatureSignature okCertificate Details:Serial Number: 3 (0x3)ValidityNot Before: Mar 13 07:06:28 2018 GMTNot After : Mar 13 07:06:28 2019 GMTSubject:countryName = USstateOrProvinceName = ORorganizationName = LXORorganizationalUnitName = LXORAQcommonName = emailAddress = eg@X509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier:9E:D9:C9:C7:E9:FE:C6:3D:5F:9A:B1:B6:24:1F:2F:6E:C9:C9:4B:4CX509v3 Authority Key Identifier:DirName:/C=US/ST=OR/L=OR/O=LXOR/OU=LXORAQ/CN=/emailAddress=eg@ serial:C9:6E:10:F7:A5:40:8F:1DCertificate is to be certified until Mar 13 07:06:28 2019 GMT (365 days)Sign the certificate? [y/n]:yfailed to update database//错误提示,解决方法将/etc/pki/CA目录下的index.txt文件删除,重TXT_DB error number 2新创建一个index.txt文件。

相关文档
最新文档