[免费openssl生成ssl证书]
[ssl证书生成]
目 录
1 概述 ............................................................................................................1
2 什么是x509证书链 .....................................................................................1
3 key的生成 ..................................................................................................1
4 生成CA的crt ...............................................................................................1
5 csr的生成方法: ........................................................................................2
6 crt生成方法 ...............................................................................................2
7 tomcat实现SSL认证 ....................................................................................2
1 概述
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL),安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。
SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://www.etsec.com.cn”。
2 什么是x509证书链
x509证书一般会用到三类文件,key,csr,crt。
Key 是私用密钥,openssl格式,通常是rsa算法。
csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。
crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。
3 key的生成
openssl genrsa -des3 -out server.key 2048
这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:
openssl rsa -in server.key -out server.key
server.key就是没有密码的版本了。
4 生成CA的crt
openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成的ca.crt文件是用来签署下面的server.csr文件。
5 csr的生成方法:
openssl req -new -key server.key -out server.csr
需要依次输入国家,地区,组织,email。最重要的是,有一个common name,可以写你的名字或者域名(例如: www.etsec.com.cn)。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。
6 crt生成方法
CSR文件必须有CA的签名才可形成证书.可将此文件发送到CA 厂商 Entrust等地方由它验证,要支付一笔费用,测试证书可以自己做CA啦.
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥。-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。
最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt
7 tomcat实现SSL认证
按照以上方法证书生成后,我们再配置tomcat。首先将以上创建的证书server.crt拷贝到tomcat主目录下的conf文件夹下。
1. 创建服务器信任的CA证书库: 把server.crt证书导入信任证书库,命令行模式进入tomcat主目录下的conf目录,执行以下命令:
keytool -keystore truststore.jks -keypass 111111 -storepass 111111 -alias ca -import -trustcacerts -file server.crt 可以用以下命令查看信任证书库内容: keytool -keystore truststore.jks -keypass 111111 -storepass 111111 -list -v 2. 配置Tomcat支持HTTPS双向认证(服务器将认证客户端证书): 修改tomcat的conf目录里的server.xml文件($TOMCAT_HOME/conf/server.xml),找到类似下面内容的配置处,添加配置如下:
<Connector port="8443" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/tomcat.p12" keystorePass="111111" keystoreType="PKCS12" truststoreFile="conf/truststore.jks" truststorePass="111111" truststoreType="JKS" />
其中,clientAuth指定是否需要验证客户端证书,如果该设置为“false”,则为单向SSL验证,SSL配置可到此结束。如果clientAuth设置为“true”,表示强制双向SSL验证,必须验证客户端证书,但服务器不会颁发证书必须由客户端导入。如果clientAuth设置为“want”,则表示可以验证客户端证书,但如果客户端没有有效证书,也不强制验证。 注意:浏览器的高级选型中要启用TLS加密方式。
相关推荐
OpenSSL是一个开源的库,包含了各种加密算法,它提供了生成SSL证书的功能。本教程将详细介绍如何使用OpenSSL在Windows环境下为Nginx服务器配置HTTPS服务,以及如何生成和管理SSL证书。 首先,了解SSL证书的作用。...
【openssl生成证书】知识点详解 在IT领域,OpenSSL是一个强大的安全套接字层密码库,包含各种主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序用于测试或其他目的。生成证书是网络...
通过以上步骤,你就成功地使用openssl生成了单向SSL证书,并将其应用于基于Boost.Asio的SSL通信测试。在实际生产环境中,通常会使用权威证书颁发机构签发的证书,以提供更高的信任度和安全性。但在测试和开发阶段,...
Linux 生成 SSL 证书供 nginx 使用是指通过 OpenSSL 命令生成 SSL 证书的过程,这个过程包括生成私钥、证书请求文件、证书文件和配置 nginx 使用证书。 首先,生成私钥文件使用以下命令:`openssl genrsa -des3 -...
### 使用OpenSSL为Apache生成SSL证书 #### 一、引言 随着互联网技术的发展与用户对数据安全意识的提升,HTTPS协议已经成为网站标配之一。HTTPS不仅能够加密传输数据,还能验证服务器身份,确保用户访问的是真实...
在本地生成SSL证书,可以帮助开发者在测试环境中模拟真实环境的安全设置,而无需依赖第三方证书颁发机构(CA)。下面将详细介绍如何生成本地SSL证书以及相关知识点。 1. SSL证书概述: SSL证书包含一个公钥和一个...
在网络安全中,OpenSSL 是一个强大的安全套接层 (SSL) 工具包,它包含了各种用于处理加密通信所需的工具,包括生成证书、密钥以及执行加密操作。本文将详细介绍如何使用 OpenSSL 创建和管理CA证书、服务器证书和...
"openSSL生成证书以及在tomcat下的配置" openSSL是目前最流行的开源加密库之一,它提供了安全的数据传输和认证机制。在Web应用程序中,openSSL广泛应用于生成数字证书和私钥,从而确保数据的安全传输。今天,我们将...
openSSL证书生成及Tomcat配置 本文将详细介绍openSSL证书生成和在Tomcat上的配置。首先,我们将学习openSSL的基本概念和命令,然后逐步生成服务器端和客户端的证书文件,并介绍如何使用CA证书签名这些证书文件。...
通常,生成SSL/TLS证书需要一系列复杂的命令行操作,包括生成私钥、创建证书签名请求(CSR)、签署证书等步骤。这个项目通过批处理脚本实现了自动化,为研发人员提供了"一键生成CA证书"、"一键生成Server证书"和...
在这个“openssl生成的证书demo”中,我们将探讨如何使用OpenSSL生成证书、证书签名请求(CSR)以及自签名的根证书权威(CA),并理解这些组件在安全通信中的作用。 首先,我们来了解什么是证书。在SSL/TLS协议中,...
Java调用OpenSSL生成证书是一种常见的安全操作,用于创建数字证书,这些证书在网络安全中扮演着重要角色,例如HTTPS通信、服务器身份验证等。在这个过程中,我们通常会使用OpenSSL命令行工具,然后通过Java程序来...
openssl生成自签名SSL证书
OpenSSL 生成 CA 证书 PKCS#12 PEM 格式转换 OpenSSL 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持 SSL/TLS 协议的实现。 OpenSSL 工具箱中包含了大量实用的命令和选项,...
根据提供的文档信息,本文将详细解释如何通过OpenSSL生成安全证书并在WebLogic环境中进行SSL配置与验证的过程。本文档分为几个部分:安装OpenSSL、创建证书、WebLogic环境的SSL配置,以及HTTPS验证。 ### 一、安装...
OpenSSL 证书生成器 可用于apache的ssl证书生成
在网络安全领域,SSL(Secure Sockets Layer)证书和它的继任...总之,通过OpenSSL生成CSR文件是获取SSL证书的关键步骤,而SSL证书则是建立安全网络连接的基础。了解这一过程对于维护网站安全和提升用户信任至关重要。
总之,OpenSSL 提供了全面的 SSL 加密证书管理功能,包括生成、加载、验证和使用证书。在 Win32 平台上进行 SSL 通信时,了解这些基本操作和原理至关重要,能够帮助开发者构建安全可靠的网络应用。
在使用 OpenSSL 生成证书时,需要了解 SSL 协议的原理和实现机制。SSL 协议采用公开密钥技术,通过生成证书来确保通信的保密性和可靠性。OpenSSL 提供了丰富的工具和命令来生成证书,包括生成私钥、生成证书请求、...