Linux下用Openssl生成证书

合集下载

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文件:为证书链文件,也不含私钥。

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证书步骤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文件。

linux 自签证书流程 -回复

linux 自签证书流程 -回复

linux 自签证书流程-回复Linux 自签证书流程是指在Linux 系统上创建和使用自己的数字证书。

数字证书是一种加密技术,用于验证和保护数据的安全性,它通常用于安全通信、网站身份验证和数据加密。

本文将为您介绍Linux 自签证书的详细步骤。

步骤一:安装必要的软件和工具首先,我们需要在Linux 系统上安装必要的软件和工具。

常用的工具包括OpenSSL、OpenSSL-devel 以及Apache 或Nginx 等网络服务软件。

使用包管理器如apt、yum 或dnf 可以方便地安装这些软件和工具。

步骤二:创建证书颁发机构(CA)要创建自签证书,首先需要创建自己的证书颁发机构(CA)。

证书颁发机构是负责颁发和管理证书的机构,它是数字证书体系的核心。

创建自己的CA 时,您需要生成一个根证书。

使用OpenSSL 工具可以生成根证书的私钥和自签证书。

打开终端,运行以下命令:openssl genrsa -out ca.key 2048openssl req -new -x509 -days 365 -key ca.key -out ca.crt在运行以上命令后,您需要按照提示输入一些信息,如国家、州/省、城市、公司名等。

然后,您将得到一个名为ca.key 的私钥和一个名为ca.crt 的自签证书。

步骤三:创建服务器证书请求(CSR)在创建根证书后,下一步是创建服务器证书请求(CSR),即服务器要求CA 签发证书。

要创建CSR,您需要生成一个私钥文件和一个证书签名请求文件。

首先,创建私钥文件,运行以下命令:openssl genrsa -out server.key 2048然后,生成证书签名请求文件,运行以下命令:openssl req -new -key server.key -out server.csr同样,根据提示输入必要的信息,如主机名、组织名称等。

步骤四:从根证书签发服务器证书当您生成了CSR 后,可以将其发送给CA,并请求签发证书。

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 创建证书

linux 创建证书

linux 创建证书要在Linux上创建证书,通常可以使用OpenSSL工具。

以下是创建证书的基本步骤:1. 生成私钥:首先,使用OpenSSL生成一个私钥文件。

你可以选择RSA、ECDSA 或Ed25519等算法来生成私钥。

以下是一个生成RSA私钥的示例命令:```shellopenssl genrsa -out private_key.pem 2048```这将生成一个名为`private_key.pem`的私钥文件,使用2048位RSA算法。

2. 创建证书签名请求(CSR):使用私钥文件创建一个证书签名请求(CSR)。

以下是一个示例命令:```shellopenssl req -new -key private_key.pem -out certificate_request.csr```这将打开一个交互式界面,要求你输入一些信息,如国家、组织、常用名等。

输入所需信息后,将生成一个名为`certificate_request.csr`的CSR文件。

3. 获取证书签名:将CSR文件提交给证书颁发机构(CA)或自签名以获取证书签名。

如果你使用自签名,可以使用以下命令自己签名:```shellopenssl x509 -req -in certificate_request.csr -signkey private_key.pem -out certificate.pem```这将使用私钥文件对CSR文件进行签名,生成一个名为`certificate.pem`的证书文件。

4. 验证证书:为了验证证书的有效性,你可以使用以下命令:```shellopenssl verify -CAfile certificate.pem certificate.pem```如果证书有效,将显示“OK”。

以上是在Linux上创建证书的基本步骤。

请注意,这只是一种简单的方法,实际创建证书的过程可能更加复杂,具体取决于你的需求和所使用的证书类型。

openssl s_server证书格式

openssl s_server证书格式

openssl s_server证书格式OpenSSL s_server是一个开放源代码的工具,用于在SSL/TLS协议下进行服务器的测试和调试。

s_server工具可以用于快速搭建一个SSL/TLS协议的服务器,而不需要安装任何第三方的服务器软件。

在使用s_server工具的过程中,需要一个有效的证书和相应的私钥,本文将重点介绍这些证书和私钥的格式。

第一步:生成私钥在使用s_server工具之前,首先需要生成一个私钥文件。

在Linux系统中,可以通过以下命令生成私钥:```openssl genrsa -out server.key 2048```该命令将会生成一个名为server.key的2048位长度的RSA私钥文件。

一旦生成,私钥就可以用于生成证书请求文件。

第二步:生成证书请求文件证书请求文件(CSR)包含有关您的组织,服务器及其公共密钥的信息。

在生成证书请求文件之前,应该为您想要保护的域名注册一个可用的域名。

在Linux系统中,可以通过以下命令生成证书请求文件(将域名替换为您自己的域名):```openssl req -new -key server.key -out server.csr```该命令将提示您输入有关服务器主机名和其他有关组织信息的详细信息。

输入必要的信息后,将生成一个名为server.csr的证书请求文件。

第三步:使用自签名证书自签名证书是您可以使用的证书类型之一。

自签名证书是由您自己的私钥签名的证书。

在实践中,自签名证书可能不适合用于与公共的Web浏览器一起使用的生产环境。

但是,在测试和开发过程中,您可以自行签署证书并使用它来测试SSL/TLS协议。

在Linux系统中,可以通过以下命令生成自签名证书:```openssl req -x509 -sha256 -days 365 -key server.key -in server.csr -out server.crt```该命令将使用您的私钥以及您的证书请求文件生成一个名为server.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生成ad域申请证书

linux生成ad域申请证书

linux生成ad域申请证书要在Linux系统上生成 Active Directory(AD)域的证书,你可以使用OpenSSL工具来创建自签名证书或向证书颁发机构(CA)申请证书。

以下是生成AD域证书的一般步骤:1. 安装OpenSSL,首先,确保你的Linux系统上已经安装了OpenSSL工具。

如果没有安装,可以使用系统的包管理工具来安装。

2. 生成私钥:使用以下命令在Linux上生成一个新的私钥文件:openssl genrsa -out ad_domain.key 2048。

3. 生成证书签名请求(CSR),使用私钥文件生成证书签名请求文件(CSR),这将用于向证书颁发机构申请证书。

openssl req -new -key ad_domain.key -outad_domain.csr.4. 填写CSR信息,生成CSR文件后,系统将提示你输入一些信息,如国家、州、城市、组织、组织单位、通用名等。

确保填写正确的信息。

5. 提交CSR文件,将生成的CSR文件提交给证书颁发机构,如果你使用自签名证书,则可以跳过这一步。

6. 自签名证书(可选):如果你选择自签名证书,可以使用以下命令生成自签名证书:openssl x509 -req -in ad_domain.csr -signkeyad_domain.key -out ad_domain.crt.7. 配置AD域,最后,将生成的证书文件配置到AD域中,具体配置步骤取决于你的AD域环境和使用的工具。

请注意,以上步骤中涉及到的文件名和信息都是示例,你需要根据实际情况进行相应的替换和填写。

另外,如果你的组织要求使用CA颁发的证书,你需要按照CA的要求来生成和提交CSR文件。

Linux IPSec操作手册

Linux IPSec操作手册

Linux IPSec操作手册IPSec操作手册第一部分: OpenSSL生成证书首先需要一个根证书,然后用这个根证书来下发“子证书”。

1,找一台Linux PC, 首先切换目录,到 /etc/pki/tls/misc,openssl的脚本在这里。

2,生成根证书: ./CA -newca输入pass phrase,后面签发的时候会用到,类似一个密码 CA证书的路径在/etc/pki/CA/cacert.pem3,生成server私有密钥:openssl genrsa -out server.key 20484,生成服务器证书请求:openssl req -new -key server.key -out server.csr5,把server.crt文件改名成newreq.pem,然后用CA来签证就可以了 mv server.csr newreq.pem ./CA �Csign6,把newcert.pem改名成server.pem mv newcert.pem server.pem 这就是server的证书。

7,重复3-6步,生成client的证书和私钥。

8,将 server.key 和 server.pem 和 cacert.pem复制到FC1080,其中server.key 和server.pem import到Local Certificates中,cacert.pem import到Trusted CA 中(只需导入证书部分,描述部分不用导入)在Linux PC上,新建/var/cert 目录,将client.pem, client.key, cacert.pem复制到 /var/cert/目录下。

9,在Linux PC的 /var/cert/目录下执行下列命令:ln -s cacert.pem $(openssl x509 -noout -hash -in cacert.pem).0这个命令是生成一个hash link,如果没有此hash link,后面将无法建立IPSec通道至此两台主机的证书分发工作已经完成。

服务器配置https协议,三种免费的方法

服务器配置https协议,三种免费的方法

服务器配置https协议,三种免费的⽅法最近想搞⼀个⽹站玩玩,发布⽹站⽤https协议已经是⼤势所趋了。

例如微信⼩程序,不使⽤https协议根本不让接⼊。

所以,分享⼀下我尝试过的三种⽅法。

⼀、Linux⾃签(OPENSSL⽣成SSL⾃签证书)第1步:⽣成私钥执⾏如下命令⽣成⼀个RSA私钥//⽣成rsa私钥,des3算法,1024位强度,ssl.key是秘钥⽂件名。

openssl genrsa -des3 -out ssl.key 1024然后他会要求你输⼊这个key⽂件的密码,由你随便设置。

由于以后要给nginx使⽤。

每次reload nginx配置时候都要你验证这个PAM密码的。

但是⽣成时候必须输⼊密码。

如果不想以后那么⿇烦,⽣成之后可以执⾏如下命令再删掉。

openssl rsa -in ssl.key -out ssl.key第2步:⽣成CSR(证书签名请求)根据刚刚⽣成的key⽂件来⽣成证书请求⽂件,操作如下:openssl req -new -key ssl.key -out ssl.csr说明:执⾏以上命令后,需要依次输⼊国家、地区、城市、组织、组织单位、Common Name和Email。

其中Common Name应该与域名保持⼀致。

Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:GuangDongLocality Name (eg, city) []:ShenZhenOrganization Name (eg, company) [Internet Widgits Pty Ltd]:tsyOrganizational Unit Name (eg, section) []:tsyCommon Name (e.g. server FQDN or YOUR name) []:selfssl.hxkj.vip 这⼀项必须和你的域名⼀致Email Address []:t@第3步:⽣成⾃签名证书根据以上2个⽂件⽣成crt证书⽂件,执⾏下⾯命令://这⾥3650是证书有效期(单位:天)。

Linux下使用脚本批量生成OPENVPN客户端证书的方法

Linux下使用脚本批量生成OPENVPN客户端证书的方法

运行环境:linux客户端证书的制作,Openvpn目前已提供手动敲命令实现的方式,其中有些命令需要依次输入信息才能完成交互,如下图所示:如果客户端有多个,甚至达到几百个,这个时候如果都用手动敲命令实现的话,就非常耗时了,难以实现。

这个时候如果使用脚本自动化生成客户端证书,就方便多了。

下面介绍一下具体的操作步骤。

检查系统下是否有安装expect命令,这个命令就是用来实现与openvpn生成的脚本交互的关键。

如果linux系统下没有expect命令,需要安装这个命令,ubuntu下可以执行”apt-get install expect”。

1.进入/etc/openvpn/easy-rsa目录:cd /etc/openvpn/easy-rsa目前以4个用户为例子(如果多个的话,可以通过其它方式获取),存放到变量里面。

2.依次写三个脚本,名称为:create.sh sub_create1.sh sub_create2.sh,其中后面两个子脚本需要提供给第一个脚本调用。

第一个脚本create.sh内容如下:#!/bin/bashusename="usr1,usr2,usr3,usr4"OLD_IFS="$IFS"IFS=","arr=($usename)IFS="$OLD_IFS"for s in ${arr[@]}doecho "##################################build user:$s" source vars./sub_create1.sh $s./sub_create2.sh $s./build-dhdone第二个脚本sub_create1.sh内容如下#!/usr/bin/expectset usrname [lindex $argv 0]spawn ./build-key $usrnameexpect "]:"send "\r"expect "]:"send "\r"expect "]:"send "\r"expect "]:"send "\r"expect "]:"send "\r"expect "]:"send "\r"expect "]:"send "$usrname\r"expect "]:"send "$usrname\r"expect "]:"send "123456\r"expect "]:"send "\r"expect "]:"send "y\r"expect "]"send "y\r"expect eofexit第三个脚本sub_create2.sh内容如下:#!/usr/bin/expectset usrname [lindex $argv 0] spawn ./build-key-pass ett expect "phrase:"send "123456\r"expect "phrase:"send "123456\r"expect "]:"send "\r"expect "]:"send "FUJIAN\r"expect "]:"send "xia men\r"expect "]:"send "\r"expect "]:"send "\r"expect "]:"send "$usrname\r" expect "]:"send "$usrname\r" expect "]:"send "\r"expect "]:"send "123456\r"expect "]:"send "\r"expect "]:"send "y\r"expect "]"send "y\r"expect eofexit至此,三个脚本已经准备完毕,管理人员只要运行第一个脚本:”./create.sh”便可以实现Openvpn客户端证书批量生成,达到省时省事的效果。

linux系统更换安全证书

linux系统更换安全证书

linux系统更换安全证书要更换Linux系统的安全证书,可以按照以下步骤进行操作:1. 生成新的安全证书,可以使用 OpenSSL 工具来生成新的证书。

具体命令如下:```openssl req -new -x509 -days 365 -nodes -out mycert.pem -keyout mykey.pem```这个命令会生成一个有效期为 365 天的新证书文件mycert.pem 和私钥文件 mykey.pem。

2. 备份原有的旧证书和私钥文件,以便需要时可以恢复。

可以使用如下命令备份:```mv /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/ssl-cert-snakeoil.pem.backupmv /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/ssl-cert-snakeoil.key.backup```3. 将新生成的证书和私钥文件复制到正确的目录下,以使系统可以访问到它们。

可以使用如下命令复制:```cp mycert.pem /etc/ssl/certs/ssl-cert-snakeoil.pemcp mykey.pem /etc/ssl/private/ssl-cert-snakeoil.key```4. 更新证书的权限,以确保只有超级用户才能访问它们。

可以使用如下命令更新权限:```chmod 600 /etc/ssl/certs/ssl-cert-snakeoil.pemchmod 600 /etc/ssl/private/ssl-cert-snakeoil.key```5. 重新启动相关的服务,以使系统开始使用新的证书。

具体需要重启哪些服务取决于系统的配置,一般包括 web 服务器、邮件服务器等。

可以使用如下命令重启 Apache 服务器:```service apache2 restart```完成以上步骤后,Linux系统的安全证书就会被成功更换。

linux ssl socket 证书使用方法

linux ssl socket 证书使用方法

linux ssl socket 证书使用方法Linux SSL Socket 证书使用方法:在 Linux 系统中,SSL Socket 是一种基于传输层安全协议(TLS/SSL)的加密通信方式。

以下是在 Linux 环境下使用 SSL Socket 的证书使用方法。

1. 生成自签名证书:在 Linux 系统中,可以使用 OpenSSL 工具生成自签名证书。

首先,安装OpenSSL 工具包(如果尚未安装)。

然后,通过以下命令生成 RSA 密钥对和自签名证书:```openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt```这将生成一个私钥文件(`private.key`)和一个自签名证书文件(`certificate.crt`),有效期为 365 天。

2. 加载证书到 SSL Socket 服务器:在使用 SSL Socket 服务器的代码中,需要加载生成的证书和私钥。

在 C++ 代码中,可以使用 OpenSSL 库中的相应函数来加载证书和私钥。

例如: ```cppSSL_CTX* ctx = SSL_CTX_new(TLS_server_method());SSL_CTX_use_certificate_file(ctx, "certificate.crt", SSL_FILETYPE_PEM);SSL_CTX_use_PrivateKey_file(ctx, "private.key", SSL_FILETYPE_PEM);```3. 与 SSL Socket 客户端建立安全连接:在 SSL Socket 客户端的代码中,类似地,需要加载服务器的证书以验证服务器的身份。

同样,在 C++ 代码中,可以使用 OpenSSL 库的相应函数来加载服务器证书。

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替换为您喜欢的任何文件名。

openssl3 手册

openssl3 手册

openssl3 手册OpenSSL是一个强大的安全套接字层密码库,包含了多个用于进行安全通信的工具和库。

以下是OpenSSL的简要手册,约800字左右。

一、概述OpenSSL是一个开源的安全套接字层密码库,提供了SSL/TLS协议的实现以及其他密码学工具。

它广泛应用于各种应用程序和系统中,用于保护通信和数据的安全性。

二、安装和使用1.安装:在大多数Linux发行版中,可以通过包管理器安装OpenSSL。

例如,在Ubuntu上,可以使用以下命令安装:shellsudo apt-get install openssl2.使用:OpenSSL提供了多种命令行工具和库函数,可以用于各种密码学任务。

以下是一些常用的命令行工具:1.openssl version:显示OpenSSL版本信息。

2.openssl genpkey:生成私钥。

3.openssl req:生成证书请求。

4.openssl x509:管理证书。

5.openssl dgst:计算消息摘要。

6.openssl enc:加密和解密数据。

openssl pkcs12:管理PKCS#12文件。

三、SSL/TLS协议OpenSSL实现了SSL/TLS协议,这是一种用于保护通信的协议。

它提供了以下功能:1.数据加密:使用对称加密算法对数据进行加密,确保数据在传输过程中的安全性。

2.数据完整性:通过消息摘要算法确保数据的完整性,防止数据在传输过程中被篡改。

3.身份认证:通过证书和公钥加密算法进行身份认证,确保通信双方的身份可信。

四、证书管理OpenSSL提供了证书管理功能,可以用于生成和管理数字证书。

以下是一些常用的证书管理命令:1.openssl genpkey:生成私钥。

2.openssl req:生成证书请求。

3.openssl x509:管理证书,包括生成、导入、导出和撤销证书等操作。

4.openssl pkcs12:管理PKCS#12文件,可以用于存储私钥和证书。

使用openssl生成证书

使用openssl生成证书

使用OpenSSL生成CA证书和签发用户证书李志平在这里我们使用OpenSSL自带的CA.pl来创建CA证书,使用它来签发用户证书,这个文件放在/usr/ssl/misc/CA.pl(我们假设把OpenSSL安装在/usr下)。

1.创建文件夹ca,存放要生成的CA证书和用户证书[root@localhost ~]# mkdir ca[root@localhost ~]# cd ca[root@localhost ca]#2.将/usr/ssl/misc/CA.pl和/usr/ssl/f拷贝到当前目录ca中[root@localhost ca]# cp /usr/ssl/misc/CA.pl ./[root@localhost ca]# cp /usr/ssl/f ./3.创建CA证书。

执行./CA.pl –newca需要填写如下:(红字部分是需要填写的,其中“按回车键”表示直接按回车键,有输入内容的,输入内容后再按回车键)[root@localhost ca]#./CA.pl -newcaCA certificate filename (or enter to create)(按回车键)Making CA certificate ...Generating a 1024 bit RSA private key...........++++++.............++++++writing new private key to './demoCA/private/cakey.pem'Enter PEM pass phrase:(输入密码,比如:1234)Verifying - Enter PEM pass phrase:(确认密码:1234)-----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) [AU]:CNState or Province Name (full name) [Some-State]:BJLocality Name (eg, city) []:BJOrganization Name (eg, company) [Internet Widgits Pty Ltd]:IBM Organizational Unit Name (eg, section) []:IBMCommon Name (eg, YOUR name) []:benEmail Address []:ben@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:(按回车键)An optional company name []:(按回车键)Using configuration from /usr/ssl/fEnter pass phrase for ./demoCA/private/cakey.pem:(输入刚才的密码:1234)Check that the request matches the signatureSignature okCertificate Details:Serial Number:f9:53:35:b7:23:ff:c0:04ValidityNot Before: Jun 23 13:50:44 2010 GMTNot After : Jun 22 13:50:44 2013 GMTSubject:countryName = CNstateOrProvinceName = BJorganizationName = IBMorganizationalUnitName = IBMcommonName = benemailAddress = ben@X509v3 extensions:X509v3 Subject Key Identifier:DD:F6:B8:17:6F:91:F6:33:BB:FB:8B:85:71:A4:70:47:E7:03:A5:0F X509v3 Authority Key Identifier:keyid:DD:F6:B8:17:6F:91:F6:33:BB:FB:8B:85:71:A4:70:47:E7:03:A5:0FX509v3 Basic Constraints:CA:TRUECertificate is to be certified until Jun 22 13:50:44 2013 GMT (1095 days)Write out database with 1 new entriesData Base Updated[root@localhost ca]#至此,公共证书已经创建。

申请商用ca证书 linux

申请商用ca证书 linux

申请商用ca证书linux如何申请商用CA证书在Linux环境下概述:商用CA证书是一种用于加密通信和数字签名的数字证书。

它由受信任的第三方证书颁发机构(CA)签发,并用于验证和确认网站的身份。

本文将详细介绍在Linux环境下如何申请商用CA证书的步骤。

步骤一:创建证书请求(CSR)1. 首先,在Linux服务器上生成私钥文件。

可以使用OpenSSL工具生成私钥文件。

打开终端并执行以下命令:openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048这将生成一个名为private.key的私钥文件。

2. 接下来,创建一个证书请求文件。

执行以下命令:openssl req -new -key private.key -out request.csr在此过程中,您将被要求提供一些相关信息,例如常用名称(通常是您的网站域名),国家/地区,组织名称等。

填写完毕后,将生成一个名为request.csr的证书请求文件。

步骤二:向CA机构提交CSR文件1. 您需要选择一个值得信任的商用CA机构,并访问其网站或使用提供的工具来提交您的CSR文件。

不同的CA机构可能会有不同的流程和界面。

2. 在CA机构的提交界面上,将CSR文件上传到指定字段中。

3. 填写必要的身份验证信息并选择适当的证书类型(如域名验证、组织验证或扩展验证等)。

4. 完成提交后,您可能需要支付相关费用。

步骤三:验证域名所有权1. 商用CA机构通常会要求您验证您拥有所申请证书的域名。

2. 验证方法通常有多种选择,例如将特定的随机文件上传至您的网站目录下,或在DNS记录中添加特定的TXT记录。

请根据CA机构的指引完成验证。

步骤四:颁发证书1. 一旦您通过了域名所有权验证,商用CA机构将签发证书。

2. 您将收到一封包含证书下载链接或附件的电子邮件。

3. 下载证书并将其保存到您的Linux服务器上。

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

用openssl签发ssl x.509证书
Linux及Openssl版本:
首先在/home目录下建立ssl目录:
cd /home
mkdir ssl
cd ssl
建立几个要用到的目录:
mkdir private certs newcerts crl
其中private主要用来存放私钥的.
certs用于存入签出的证书
cp /usr/share/ssl/f .
将配置文件复制到当前目录
构建相关文件:
echo 构建索引文件index.txt
echo 0>index.txt
echo 构建序列号文件serial
echo 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指定用于签证的私钥,运行过程中,要输入私钥的密码和设定书密码。

制做服务器端的证书并用ca签名:
1、产生一个rsa私钥,在此,我们不用密码保护。

openssl genrsa -out private/serverkey.pem 1024
2、填写证书申请表:
openssl req -new -key private/serverkey.pem -out server.req.pem
或写为:openssl req -new -key private/client_wang.key.pem –out client_wang.req.pem -subj "/C=CN/ST=GD/L=ST/O=STDX/OU=GX203/CN=Wangyou bang/emailAddress=wangyoubang5858@"
3、用先前产生的认证中心的私钥对申请表进行签名:
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA certs/ca.crt.pem -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in server.req.pem -out certs/server.crt.pem
基中的CA选项指定的是认证中心的证书,也就是上面我们自签名产生的证书,CAkey就是认证中心的私钥,CAserial也许是指签发产生的序列号吧!!
如果我们想将证书转成p12格式的:
openssl pkcs12 -export -clcerts -in certs/server.crt.pem -inkey private/serverkey.pem -out certs/server.p12
制做用户的证书并用ca签名:(与生成服务器证书差不多)
1、产生一个rsa私钥,在此,我们不用密码保护。

openssl genrsa -out private/clientkey.pem 1024
2、填写证书申请表:
openssl req -new -key private/clientkey.pem -out clientkey.req.pem
或后面指定:
-subj
"/C=CN/ST=GD/L=ST/O=STDX/OU=GX203/CN=Wangyou bang/emailAddress=wangyoubang5858@"
3、用先前产生的认证中心的私钥对申请表进行签名:
生成crt格式.
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA certs/ca.crt.pem -CAkey private/ca.key.pem -CAserial ca.srl –CA createserial -in server.req.pem -out certs/client.crt.pem
生成cer格式
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA certs/ca.crt.pem -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in client_wang.req.pem -out certs/client_wang.cer。

相关文档
最新文档