制作和使用SSL证书

合集下载

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文件。

ssl证书使用方法

ssl证书使用方法

ssl证书使用方法SSL证书是一种数字证书,用于加密网站与用户之间的通信,确保数据的机密性和完整性。

在网络安全方面,使用SSL证书是非常重要的。

下面将对SSL证书的使用方法进行详细介绍。

一、选择合适的SSL证书类型1.单域名SSL证书:适用于只有一个域名的网站,可以保护一个域名下的所有子域名。

2.多域名SSL证书:适用于有多个域名的网站,可以保护多个域名和其子域名。

3.通配符SSL证书:适用于有多个子域名的网站,可以保护主域名和所有子域名。

4.扩展验证SSL证书(EVSSL):适用于企业和电子商务网站,具有更高的认证标准,显示绿色地址栏。

二、购买SSL证书1.在SSL证书提供商的官方网站上选择合适的证书类型和有效期限。

2.提供相应的域名和组织信息,进行支付购买。

3.提交所需的认证材料,如域名所有权验证、组织认证等。

三、申请SSL证书1.登录SSL证书提供商的管理控制台,进入证书申请页面。

2.输入需要保护的域名和服务器信息,生成证书的CSR文件。

3.将CSR文件发送给证书提供商。

四、配置服务器2.将证书文件和服务器私钥文件上传到服务器。

五、安装SSL证书1.根据服务器类型和SSL证书类型选择相应的安装方法。

2.执行服务器配置文件中的重启操作,使配置生效。

六、更新和续期证书1.SSL证书通常有特定的有效期,到期后需要进行更新或续期。

2.在颁发机构提供的管理控制台中进行证书更新或续期的操作。

七、测试SSL证书2.使用在线SSL验证工具进行SSL证书的验证,确保证书安装正确。

八、注意事项1.定期备份私钥和证书文件,以防数据丢失。

2.注意证书有效期,及时续签证书,避免因证书过期而导致网站被浏览器警告或无法访问。

3.定期检查SSL证书的有效性,确保证书持有者的身份仍然有效。

总结:通过以上方法选择、购买、申请、安装和更新SSL证书,可以有效地保护网站的安全性和用户的隐私。

对于网站运营者来说,使用SSL证书是维护用户信任、提高网站安全性的重要步骤。

Windows系统下制作ssl证书笔记

Windows系统下制作ssl证书笔记

Windows系统下制作ssl证书笔记Windows系统下制作公钥私钥ssl证书1.安装软件Win32OpenSSL_Light-1_1_0i.exe2.进入C:\OpenSSL-Win32\bin目录下,双击openssl.exe,打开cmd窗口。

(以下的命令均在openssl.exe窗口中执行)3.使用version命令,查openssl版本4.请求方(作为客户的我们)的操作生成服务端(即网站)的私钥(key文件)及csr 文件(证书签名请求)①生成网站私钥文件(后缀为.key)genrsa -des3 -out server.key 2048说明:生成rsa私钥,des3算法,2048位强度,server.key是秘钥文件名。

注意:生成私钥,需要提供一个至少4位的密码。

②去除私钥密码(创建私钥的过程中,由于必须要指定一个密码。

而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。

要删除私钥中的密码)。

(实践中用ksweb时必须去除私钥密码,不然提示错误。

所以在合并为pem文件时你必须去除私钥密码。

)rsa -in server.key -out server.key此时需要输入创建私钥时输入的密码生成无密码的私钥文件server.key,原私钥文件会被覆盖,需要注意。

③从私钥文件生成证书请求(签名请求)文件(后缀为.csr)req -new -key server.key -out server.csr(请求方的详细信息)Country Name (2 letter code) [GB]: #所在国家代码(只支持两位字符)State or Province Name (full name) [Berkshire]: #州或省名Locality Name (eg, city) [Newbury]: #所在城市的名字Organization Name (eg, company) [My Company Ltd]: #组织或公司的名字Organizational Unit Name (eg, section) []: #公司所在部门Common Name (eg, your name or your server's hostname) []: #服务器名字或个人名字申请证书的域名(建议和httpd.conf中serverName必须一致否则有可能导致apache不能启动)Email Address []: #邮箱地址Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []: #加密证书请求的密码An optional company name []:注意:填写资料时除Common Name(常用名)一项必填外,其他都可以空Common Name 这里填127.0.0.1或localhost完成以后在bin文件夹下有了server.key(网站服务器私钥)server.csr(网站证书请求文件)以上工作完成后,我们将server.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的过程中,需要填写一些证书相关的信息,如国家、地区、组织、通用名等。

ssl证书 认证过程

ssl证书 认证过程

ssl证书认证过程SSL证书是一种用于加密网站通信的数字证书,它通过验证网站的身份和建立安全连接来保护用户的隐私和数据安全。

SSL证书的认证过程是一个严格的流程,确保证书的有效性和可信度。

首先,网站所有者需要选择一个受信任的SSL证书颁发机构(CA)。

CA是一个独立的第三方机构,负责验证网站所有者的身份并签发SSL证书。

常见的CA包括Symantec、Comodo、Let's Encrypt等。

第二步是进行域名验证。

CA会向网站所有者发送一封验证邮件,要求在特定时间内点击链接或回复邮件以确认域名所有权。

这个步骤旨在确保申请SSL证书的人拥有该域名,并且有权在该域名上使用SSL加密。

接下来,网站所有者需要提交相关文件和信息给CA进行身份验证。

这些文件可能包括公司注册文件、营业执照、组织机构代码证等。

CA会仔细审核这些文件,并与相关政府机构核实信息的真实性。

一旦通过了身份验证,CA会生成一个私钥和公钥对,并使用私钥对公钥进行签名。

私钥用于加密数据,而公钥则用于解密数据。

同时,CA会将签名后的公钥和其他相关信息组成SSL证书,并将其发送给网站所有者。

最后,网站所有者需要将SSL证书安装到其服务器上。

这个过程可能需要一些技术知识,但通常由服务器管理员或网络安全专家完成。

一旦安装完成,网站就可以通过HTTPS协议与用户建立安全连接了。

总的来说,SSL证书的认证过程包括选择CA、域名验证、身份验证和证书安装。

这个过程确保了SSL证书的有效性和可信度,为网站提供了更高的安全性和用户信任度。

OpenSSL来制作证书,在IIS中配置HTTPS(SSL)笔记

OpenSSL来制作证书,在IIS中配置HTTPS(SSL)笔记

info@ 使用OpenSSL来制作证书,在IIS中配置HTTPS(SSL)笔记下载Win32编译的openssl版本0.9.8e.1.获取IIS证书请求:打开IIS,右键单击【默认网站】,在【目录安全性】选项卡中点击【服务器证书】按钮,【下一步】,【新建证书】,【现在准备证书请求--下一步】,输入【名称】,输入【单位】和【部门】,输入【公用名称】,选择【国家】并输入【省】和【市县】并【下一步】,【下一步】,【下一步】,【完成】,IIS的证书请求已经获取,就是C:\certreq.txt。

这里请牢记输入的信息。

2.准备openssl工作环境:把openssl(编译后的版本)解压到D:\OpenSSL-0.9.8e\下,在bin目录下建立目录demoCA,在demoCA下建立private和newcerts目录,并新建index.txt,内容为空如果没有serial文件,则到openssl网站上下载openssl的源文件,解压后,到apps\demoCA下,拷贝serial文件过来,两个目录两个文件都放到新建的 demoCA下。

3.生成自签名根证书:openssl req -x509 -newkey rsa:1024 -keyout ca.key -out ca.cer -days 3650 -config D:\OpenSSL-0.9.8e\fPEM pass phrase: password // 根证书私钥密码Verifying - Enter PEM pass phrase: passwordCountry Name: CN // 两个字母的国家代号State or Province Name: HB // 省份名称Locality Name: WUHAN // 城市名称Organization Name: Skyworth TTG // 公司名称Organizational Unit Name: Service // 部门名称Common Name: // 你的姓名(要是生成服务器端的证书一定要输入域名或者ip地址)Email Address: admin@ // Email地址info@ 提醒:这时候,已经有ca.key:ca的私钥文件,ca.cer:ca的自签名根证书,certreq.txt:IIS的证书请求文件,三个文件。

HTTPS文件服务器的搭建和应用

HTTPS文件服务器的搭建和应用

HTTPS文件服务器的搭建和应用HTTPS是一种安全的通信协议,可以保证在互联网上的数据传输过程中不被窃听或篡改。

为了搭建一个HTTPS文件服务器,我们需要进行以下步骤:1. 获取SSL证书:为了建立HTTPS连接,我们需要在服务器上安装一个SSL证书。

SSL 证书包括公钥和私钥,用于加密数据并验证通信双方的身份。

可以从各大SSL证书提供商购买证书,也可以自行生成自签名证书。

2. 安装和配置Web服务器:选择一个合适的Web服务器软件,比如Apache、Nginx或IIS等,并根据对应的操作系统和软件版本安装。

然后,进行必要的配置,例如指定服务器监听的端口、域名和存储路径等。

3. 安装SSL证书:将获取到的SSL证书安装到Web服务器中。

具体操作步骤有所差异,但通常包括将证书文件放置在指定目录、配置证书文件的路径和密码等。

根据Web服务器的不同,可以参考相应的文档和教程进行配置。

4. 配置HTTPS:在Web服务器的配置文件中,需要增加一些额外的配置,以启用HTTPS。

在Apache服务器中,需要启用mod_ssl模块,指定SSL证书文件的路径和监听的端口等。

对于其他Web服务器,操作类似。

5. 配置防火墙和路由器:如果服务器使用了防火墙或路由器,需要确保对HTTPS的请求转发到正确的端口。

6. 测试HTTPS连接:启动Web服务器并尝试通过HTTPS访问服务器,使用浏览器访问服务器的URL,并确保连接是安全的(通常会显示一个锁形状的图标)。

在配置完成后,我们可以将HTTPS文件服务器应用于各种场景中。

以下是一些常见的应用示例:1. 文件共享:可以设置一个公共的文件夹,允许用户通过HTTPS连接上传和下载文件。

这在需要安全共享敏感文件的团队或组织中非常有用。

2. 远程访问:通过HTTPS连接服务器,可以进行远程访问和管理。

这对于需要远程管理服务器的管理员或开发人员来说非常方便。

3. 数据备份和同步:可以使用HTTPS连接将数据从本地计算机备份到服务器,并确保数据传输过程中的安全性。

ssl证书认证流程

ssl证书认证流程

ssl证书认证流程SSL证书是一种数字证书,用于确保网站和用户之间的数据传输的安全性。

它通过对网站身份进行验证,加密数据传输,保护用户的敏感信息免受黑客和恶意攻击。

以下是SSL证书认证的基本流程:1. 申请证书:网站管理员首先需要选择一个可信任的证书颁发机构(CA)进行SSL证书申请。

CA是第三方机构,负责验证和确认网站身份的合法性。

通常,CA会提供多种证书类型,管理员可以根据自己的需求选择适合的证书。

2. 提供身份证明:在申请SSL证书时,管理员需要提交一些必要的身份信息来证明网站的合法性。

这些信息可能包括公司注册文件、域名所有权证明、联系信息等。

CA会对这些信息进行审查,并确保申请者具备使用该域名的权限。

3. 完成验证过程:验证过程是确保网站合法性的重要环节。

CA会与管理员联系,并要求提供一些额外的文件或通过特定的审核流程确认网站的所有权。

这可能包括通过电子邮件发送验证代码到管理员的注册邮箱,或将CA的授权文件添加到网站的根目录。

4. 生成证书:一旦身份验证通过,CA将会生成一个数字证书,并使用自己的数字签名来证明该证书的合法性。

数字证书中包含了网站的公钥和相关信息。

CA会将证书发送给管理员,管理员需要将其安装到网站的服务器上。

5. 配置服务器:一旦证书安装完毕,管理员需要对网站的服务器进行相应的配置,以使其与SSL证书配合工作。

这可能涉及到启用SSL协议、加密传输等细节设置。

配置完成后,网站将可以通过HTTPS协议提供安全的数据传输。

6. 更新证书:SSL证书的有效期通常为一年或更长时间,过期后需要进行更新。

在证书到期前,管理员需要与CA联系并重新申请证书,并按照上述步骤重新进行验证和安装。

通过SSL证书认证流程,网站可以获得一个可信的标识,让用户放心地与其进行交互和传输敏感信息。

同时,网站管理员也应定期检查证书的有效期,并及时进行更新和维护,以保证网站的安全性和可靠性。

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

制作和使用SSL证书
在Linux环境下,一般都安装有OPENSSL。

下面的内容就是用OPENSSL快速制作root 证书以及客户端证书的步骤和方法。

1、初始准备工作
1)创建一个我们制作证书的工作目录
# mkdir CA
# cd CA
# mkdir newcerts private
2)制作一个我们创建证书时需要的配置文件,内容可以参考见
# cd CA
# vi
3)创建我们自己的证书库的索引
# echo '01' >serial
# touch
2、制作一个root证书
执行下面的命令
# openssl req -new -x509 -extensions v3_ca -keyout private/ \
-out -days 3650 -config ./
在屏幕上会出现如下的交互内容,按照提示相应的信息。

注意,一定要记住PEM,这个在以后生成客户端证书时都需要。

Using configuration from ./
Generating a 1024 bit RSA private key
.......++++++
..........................++++++
writing new private key to 'private/'
Enter PEM pass phrase:demo
Verifying password - Enter PEM pass phrase:demo
-----
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.
-----
Organization Name (company) [The Sample Company]:<enter> Organizational Unit Name (department, division) []:CA Division
Email Address
Locality Name (city, district) [Metropolis]:<enter>
State or Province Name (full name) [New York]:<enter>
Country Name (2 letter code) [US]:<enter>
Common Name (hostname, IP, or your name) []:TSC Root CA
其中:
-new -x509:表示创建一个自我签名的证书
-extensions v3_ca:表示创建一个CA证书
-days 3650:表示证书的有效期为10年。

在root证书过期后,需要重新创建root证书和为所有客户提供的客户端证书以及为客户重新发布证书。

这些工作量会很大。

-keyout private/:指明root证书的Key文件
-out :指明root证书文件
-config ./:表明用我们的配置文件
命令执行完成后,会生成两个文件
一个存放私钥Key的文件:private/
一个root CA证书文件:
可以分别用如下的命令来看证书的内容、有效期以及用途:
# openssl x509 -in -noout -text
# openssl x509 -in -noout -dates
# openssl x509 -in -noout -purpose
3、制作一个CSR(Certificate Signing Request)
执行下面的命令:
# openssl req -new -nodes -out -config ./
在屏幕上会出现如下的交互内容,按照提示输入相应的信息。

...
Organizational Unit Name (department, division) []:Mail Server
Email Address
Common Name (hostname, IP, or your name) []:经过上面的命令,会有两个输出文件一个存放私钥Key的文件:
一个CSR证书文件:
可以用下面的命令来看文件所包含的内容
# openssl req -in -text -verify -noout
注意:有关root证书的所以信息以及req证书的所有信息很关键,不能被删掉,以免以后做客户端证书时有问题。

4、签名一个证书
执行下面的命令
openssl ca -out -config ./ -infiles
在屏幕上会出现如下的交互内容,按照提示输入相应的信息
Using configuration from ./
Enter PEM pass phrase:demo
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
organizationName :PRINTABLE:'The Sample Company' organizationalUnitName:PRINTABLE:'Mail Server'
emailAddress :IA5STRING:''
localityName :PRINTABLE:'Metropolis'
stateOrProvinceName :PRINTABLE:'New York'
countryName :PRINTABLE:'US'
commonName :PRINTABLE:''
Certificate is to be certified until Dec 8 04:37:38 2002 GMT (365 days) Sign the certificate [y/n]:y
1 out of 1 certificate requests certified, commit [y/n]y
Write out database with 1 new entries
Data Base Updated
经过上面的命令,输出两个文件:
一个客户端证书文件:
一个客户端证书的备份:newcerts/<serial>.pem
用下面的方法可以查看证书的内容
# openssl x509 -in -noout -text -purpose | more
用下面的方法可以将证书内容改变为不可读的方式
# mv
# openssl x509 -in -out
5、证书的发布
在提供给客户端时,需要提供如下的文件,客户需要将提供给他的证书保存在指定的目录下。

root证书:
客户端证书:
制作CSR时生成的Key文件:。

相关文档
最新文档