免费openssl 生成ssl证书[ssl证书生成]

标签: 免费 openssl ssl | 发表时间:2013-12-02 09:48 | 作者:wenjinglian
出处:http://www.iteye.com

[免费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证书.pdf 

 

 





已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [免费 openssl ssl] 推荐:

免费openssl 生成ssl证书[ssl证书生成]

- - 企业架构 - ITeye博客
[免费openssl生成ssl证书]. 1 概述 ............................................................................................................1. 2 什么是x509证书链 .....................................................................................1.

免费SSL证书(https网站)申请 - osfipin - 博客园

- -
如何拥有一个自己的免费的SSL证书,并且能够长期拥有. 这篇文章让你找到可用的免费证书o(* ̄︶ ̄*)o. 各厂商提供的免费SSL基本是Symantec(赛门铁克),申请一年,不支持通配符,有数量限制. 免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿云帐户最多签发20张免费证书. 兼容性如下操作系统版本IOS 5.0+、Android 2.3.3+、JRE 1.6.5+、WIN 7+.

全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL

- - 行业应用 - ITeye博客
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版. 即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL.   它是一个URI scheme(抽象标识符体系),句法类同http:体系.

是时候支持HTTPS了:免费SSL证书letsencrypt配置教程

- - 后端技术 by Tim Yang
今天抽空将 blog 增加了 HTTPS 支持,并停止了原来的 HTTP 服务. 由于证书仅网站域名需要,因此使用了免费的 Let’s Encrypt 证书服务. 根据维基百科的说明,Let’s Encrypt 是一个于2015年三季度推出的数字证书认证机构,将通过旨在消除当前手动创建和安装证书的复杂过程的自动化流程,为安全网站提供免费的SSL/TLS证书.

nginx配置ssl

- - 邢红瑞的blog
先生成网关证书 ,仿照CA模式.

linux下安装nginx、pcre、zlib、openssl

- - CSDN博客推荐文章
1、安装nginx之前需要安装 PCRE库的安装. 最新下载地址   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/. tar –zxvf pcre-8.21.tar.gz,解压目录为:pcre-8.21. 然后进入到 cd pcre-8.21,进行配置、编译、安装.

Google创建OpenSSL分支,宣布BoringSSL

- - Solidot
在OpenBSD创建OpenSSL分支LibreSSL两个月后,Google宣布了它创建的OpenSSL分支BoringSSL. Google安全团队的Adam Langley在个人博客上说,他们使用了超过70个OpenSSL补丁,部分被接受合并到了OpenSSL主库,但大部分没有. 随着Android、Chrome和其它项目开始需要这些补丁的子集,事情日益变得复杂,要保证所有补丁在不同代码库正常工作需要太多精力.

SSL原理笔记

- - CSDN博客推荐文章
搜索SSL握手的原理,最多是网上转载的Alice和Bob的对话. 用生动、形象的场景说明了一个复杂SSL握手原理. 用公钥加密的数据只有私钥才能解密,相反的,用私钥加密的数据只有公钥才能解密,正是这种不对称性才使得公用密钥密码系统那么有用. 是一个验证身份的过程,目的是使一个实体能够确信对方是他所声称的实体.

SSL工作原理

- - 互联网 - ITeye博客
SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性. 超文本传输协议 (HTTP)使用 SSL 来实现安全的通信. 在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的. 公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥.

SSL窃听攻击实操

- snowflip - 狂人山庄 | Silence,声仔,吴洪声,奶罩
OK,我恶毒的心灵又开始蠢蠢欲动了. 今天带给大家的是SSL窃听攻击从理论到实际操作的成功例子. SSL窃听最主要的是你要有一张合法的SSL证书,并且证书名称必须和被攻击的网站域名一致. 目前各大CA都有很低廉价格的SSL证书申请,最低的价格只需要10美元不到,甚至还有一些域名注册商大批量采购这些证书,并且在你注册域名的时候免费送你一张.