SSL证书签发,第1张

HTTPS = HTTP + TLS/SSL

SSL:Secure Sockers Layer,安全套接层

TLS:标准化之后的SSL

提供隐私和数据两个通信实体之前的完整性

由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)

SSL的核心在于提供安全可信的通讯

实际应用中,通常有单向认证和双向认证两种实现方式

1 客户端:发送客户端SSL版本信息等

2 服务端:返回SSL版本信息等及服务器公钥

3 客户端:校验证书是否合法

验证证书是否过期、CA是否可靠等

4 客户端:发送对称加密方案给服务端

5 服务端:选择加密方式

6 服务端:将加密方案 明文 发送给客户端

7 客户端:产生随机码,生成对称加密密钥,使用服务端公钥加密,发送服务端

8 服务端:使用私钥解密,获得对称加密密钥

9 握手结束,对称加密,安全通信

1 客户端:发送客户端SSL版本信息等

2 服务端:返回SSL版本信息等及服务器公钥

3 客户端:校验证书是否合法

4 客户端: 将自己的证书和公钥发送至服务端

5 服务端: 校验客户端证书,获得客户端公钥

6 客户端:发送对接加密方案给服务端

7 服务端:选择加密方式

8 服务端:将加密方案 使用客户端公钥加密后 发送给客户端

9 客户端:使用私钥解密,获得加密方式,产生随机码,生成对称加密密钥,使用服务端公钥加密后,发送给服务端

10 服务端:使用私钥解密,获得对称加密密钥

11 握手结束,对称加密,安全通信

SSL核心的概念:ca、私钥、公钥、证书

私钥默认格式为pkcs1,一个简化的私钥生成命令:

openssl genrsa -out privatepem 3072

java对私钥格式有 要求 ,需要转换为pkcs8格式,转换命令:

openssl pkcs8 -topk8 -inform PEM -in privatepem -outform PEM -nocrypt -out private-pkcs8pem

认证中心,第三方认证提供方,为证书提供可靠性认证

开发过程中一般使用自签发证书进行测试,再使用正式签发的证书

CA在使用时,主要是使用ca证书,ca证书由ca key签发而来

要素: CA私钥、CA CSR、签发证书

中间根据提示输入 Country Name 、 State or Province Name 等等

组成:CA根证书、签发客户端证书

使用 OpenSSL 创建客户端证书时,请注意

创建私钥时,请将长度指定为 4096

创建证书时,对于 -extensions 参数,指定 usr_cert

生成私钥

openssl genrsa -out productkey 3072

生成证书签发请求

openssl req -new -key productkey -out productcsr

将证书签发请求发送至CA,签发证书,这一步一般无法感知,大概的意思就是执行下面的签发命令

openssl ca -in productcsr -out productcrt -days 365

上面这一条还是隐藏了很多细节,再看下面的

签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书

openssl x509 -req -CA cacrt -CAkey cakey -CAcreateserial -in productcsr -out productcrt

这个 productcrt 就是正式可以使用的证书了

TLS单向认证和双向认证的区别

1、首先打开浏览器,找到工具→Internet选项。

2、找到高级选项卡,下面的使用SSL30勾选之后,点击保存即可。

3、重新打开网站检查。对于chrome浏览器,SSL和TLS都协议是默认开启的,可以按下F12,然后在开发者工具中查看当前使用的协议版本。

4、若是服务器配置ssl协议证书,首先确认Apache服务器已经安装有加密模块,可以是OpenSSL,或是OpenSSL+ModSSL。通过OpenSSL给Apache服务器产生一个密钥对(keypair)

5、然后在当前目录会产生两个文件:privatekey、publiccsr。privatekey是私钥,publiccsr是证书请求文件。

6、把刚才的publiccsr请求文件内容贴进证书申请页面,完成证书的申请工作。申请完证书之后,将证书文件复制到刚才保存私钥和请求文件的目录下。配置Apache服务器的httpconf文件,打开https服务。

HTTPS也称之为SSL证书,网站部署SSL证书是一种数字证书,主要是给予网站HTTPS安全协议加密传输与信任的功能。

https证书即是SSL证书,SSL证书的作用:

1、网站数据安全加密

网站部署SSL证书之后,网站实现HTTPS加密,保护网站数据安全,避免网站上的隐私数据(信用卡号、密码等)信息被窃取篡改。另外,还可以验证网站的真实性,树立可信赖的企业形象,辨别钓鱼网站,向客户证明网站是值得信赖的合法网站。

2、消除“不安全”提示

谷歌等主流浏览器对未安装SSL证书的网站会提示“不安全”的红色警告信息,大力鼓励网站安装SSL证书进行HTTPS加密,网址前显示绿色安全小锁表示安全。

3、有利于SEO优化,提升网站排名

百度、谷歌等搜索引擎已公开表示对安装SSL证书的网站的友好态度,优先展示HTTPS网站,这对于SEO来说是一个非常好的机会,适用于所有需要SEO提升流量的网站。

4、小程序、APP上架的必要条件

小程序开发和APP都需要HTTPS接口,需要SSL证书保证安全。

5、信息等级保护

SSL证书可帮助信息安全等级保护测评,助力企业等保合规

SSL证书由受信任的证书颁发机构(CA)颁发,CA机构的根证书必须置入浏览器系统的根证书库中,才能使证书受信任。如果不受信任,浏览器将向最终用户显示证书有问题的安全警告。此类消息会导致用户对网站缺乏信心,从而可能失去潜在的客户并影响销售业绩。

windows系统下的教程如下所示:

   SSL部署前特别说明

1 陕西CA SSL服务器证书部署指南(以下简称“本部署指南”)主要描述如何通过第三方系统产生密钥对和如何将SSL服务器证书部署到Apache服务器

2 本部署指南适用于linux、windows系统下Apache 2X版本;

获取服务器SSL证书

    获取SSL证书

在您完成申请SNCA服务器证书的流程后,SNCA将会在返回给您的邮件中附上根证书issuercrt和相应的CA证书。CA证书就是文件就是youdomaincrt和私钥文件youdomainkey,请确认所收到的证书文件是您需要的CA证书。

安装服务器SSL证书

1、打开 apache 安装目录下 conf 目录中的 httpdconf 文件,

找到 #LoadModule ssl_module modules/mod_sslso

(如果找不到请确认是否编译过 openssl 插件)

#Include conf/extra/httpd_sslconf 删除行首的配置语句注释符号“#” 保存退出。

2、打开 apache 安装目录下 conf/extra 目录中的 httpd-sslconf 文件

a打开Apache22/conf/extra/目录下的httpd-sslconf文件,将

”ServerName wwwexamplecom:443”改成您的主机域名,

DocumentRoot指定网页文件路径;

(此处的配置和http的80端口配置文件保持一致 )

b添加SSL协议支持语句,关闭不安全的协议和加密套件

SSLProtocol all -SSLv2 -SSLv3

c修改加密套件如下

SSLCipherSuite

ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!3DES:!MD5:!ADH:!RC4:!DH:!DHE

d找到如下三个选项SSLCertificateFile、SSLCertificateKeyFile和SSLCertificateChainFile这三个配置项,将youdomaincrt和youdomainkey 及证书链

issuercrt文件上传到该目录(这里是/usr/local/apache/conf/sslcert,windows路径自己指定)下:

完整的配置文件如下:

保存退出,并重启Apache,

访问测试

服务器若部署了SSL证书,浏览器访问时将出现安全锁标志;

SSL备份和恢复

在您完成服务器证书的安装与配置后,请务必要备份好您的服务器证书,避免证书遗失给您造成不便:

    备份服务器证书

备份服务器证书私钥文youdomainkey,服务器证书文件youdomaincrt。

2恢复服务器证书

参照步骤“三、安装服务器证书”即可完成恢复操作。

证书遗失处理

若您的证书文件损坏或者丢失且没有证书的备份文件,请联系SNCA办理遗失补办业务,重新签发服务器证书。

TLS 是传输层安全性协议(英语:Transport Layer Security),是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。

TLS10:IETF将SSL标准化,即RFC 2246,并将其称为TLS(Transport Layer Security)。从技术上讲,TLS 10与SSL 30的差异非常微小。本协议和SSL 30之间的差异并不是显著,却足以排除TLS 10和SSL 30之间的互操作性。TLS 10包括可以降级到SSL 30的实现,这削弱了连接的安全性。

SSL(Secure Sockets Layer)是网景公司(Netscape)设计的主要用于Web的安全传输协议,这种协议在Web上获得了广泛的应用。

SSL 20版本在1995年2月发布,但因为存在数个严重的安全漏洞而被30版本替代。

SSL 30版本在1996年发布,是由网景工程师Paul Kocher、Phil Karlton和Alan Freier完全重新设计的。较新版本的SSL/TLS基于SSL 30。SSL 30作为历史文献IETF通过RFC 6101发表。

扩展资料

TLS是IETF(Internet Engineering Task Force)制定的一种新的协议,它建立在SSL 30协议规范之上,是SSL 30的后续版本。但TLS与SSL30之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL30不能互操作。

TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS 在SSL v30 的基础上,主要有以下增强内容:

1)TLS 使用“消息认证代码的密钥散列法”(HMAC)更安全的MAC算法。

2)TLS提供更多的特定和附加警报,还对何时应该发送某些警报进行记录。

3)增强的伪随机功能,TLS对于安全性的改进。

参考资料:

- TLS

1,要查看ssl的内容,需要得到server的server rsa key

2, 打开wireshark, 找到如下路径, Edit -> Preferences -> protocols -> SSL

然后点击 RSA Keys List: Edit,

在新的RSA编辑界面创建一个新的RSA key

其中

IP address 是服务器的IP

Port 一般是443

protocol 一般填写http

key file 可以选择自己服务器上的rsa key。 这个RSA Key需要是一个解密了的 PKCS#8 PEM 格式的(RSA) key

password 一般不填写,如果key file需要一个密码,可以在这里填写。

3,由于wireshark低版本(低于或者是110)不支持session ticket, 所以如果服务器配置的ssl是TLSv1,同时在mac的safari上面访问,需要session ticket。 这是就要升级wireshark版本到112以上。

如果是ubuntu 1404, 可以通过如下命令升级

[plain] view plain copy

sudo apt-add-repository 'deb http://ppalaunchpadnet/wireshark-dev/stable/ubuntu trusty main'

sudo apt-get update<pre name="code" class="plain"><span style="font-family: Arial, Helvetica, sans-serif;">sudo apt-get upgrade</span>

sudo apt-get upgrade wiresharksudo apt-get install wireshark

这就可以在wireshark解密https,查看http的内容了。

4,注意点

1, 有时候Diffie-Hellman 的CipherSuite不能解密,所以可以尝试如下的CipherSuite。

SSLCipherSuite RC4-SHA

2, 有时候session cache会有影响,可以在mods-available/sslconf修改SSLSessionCache如下

[plain] view plain copy

SSLSessionCache none

#SSLSessionCacheTimeout 300

[plain] view plain copy

3,restart the apache using

[plain] view plain copy

sudo service apache2 restart

SSL客户端在TCP连接建立后,发出一消息,该消息中包含了SSL可实现的算法列表和其他一些必要的消息;

SSL的服务器端将回应一个消息,其中确定了该次通信所要用的算法,然后发出服务器端的证书;

客户端在收到该消息后会生成一个秘密消息,并用SSL服务器的公钥加密后传回服务器;

服务器用自己的私钥解密后,会话密钥协商成功;

双方用同一份会话密钥通信。

SSL证书判断:打开地址栏带有:https://,说明该地址拥有SSL证书。

特点是什么:拥有SSL证书的网站,并且将SSL证书配置到服务器的,配置完毕后地址栏打开会展示HTTPS方式展示。

举例说明应用场景:这是百度搜索的首页,浏览器地址栏:HTTPS://代表拥有了SSL证书

拥有了SSL证书的百度网站

其它判断方式:可以使用在线SSL证书检测网页检测,如果检测报告中体现SSL证书,说明该网站拥有了SSL证书

举例说明应用场景:以下是ssllabs检测域名得出的SSL证书报告,只要拥有SSL证书的域名输入网址后就可以检测到结果。

ssllabs判断有SSL证书

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » SSL证书签发

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情