分类 ssl证书知识 下的文章

1.合成Nginx所需的证书文件:

新建一个记事本文件,复制证书(.crt)内容到记事本的第一段,复制证书链(.ca)内容到第二段;(如下图)

然后保存,将记事本重命名为:你的域名_chain.com.crt(例如:sslsky.com_chain.crt);

如需要pem格式证书,可直接修改后缀为:你的域名_chain.com.pem

准备好以下文件:
sslsky.com_chain.crt (包含证书链的证书文件)
sslsky.com.key (私钥文件)

2.环境检测,检测命令如下(测试nginx是否支持SSL)

nginx -V
如果有显示 –with-http_ssl_module 表示已编译openssl,支持安装ssl

如果没有安装请下载nginx源码重新编译

./configure --with-http_stub_status_module --with-http_ssl_module
make && make install

3.配置Nginx

server {
listen 80;
listen 443 ssl;
server_name www.sslsky.com;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_certificate /etc/ssl/sslsky.com.crt;
ssl_certificate_key /etc/ssl/sslsky.com.key;
ssl_prefer_server_ciphers on;

自动跳转到HTTPS (可选)

if ($server_port = 80) {
rewrite ^(.*)$ https://$host$1 permanent;
}
location / {
root /home/sslsky/;
index index.php;
}
}
以上配置仅供参考,其他参数请根据生产环境需要添加。

4.安装后重启nginx使其生效

centos6
service nginx restart
centos7
systemctl restart nginx

问题排查:

如果使用CDN(加速器),需要在CDN上面安装证书,国内免费加速的都不支持https(已知阿里云cdn支持)

检查443端口是否启动 使用下面命令 netstat -apnt | grep 443 (如果没有启动检查配置文件或者端口是否冲突)

443端口如果已经启动,但不能访问,请检查防火墙(或者安全狗) ,允许443端口.

linux iptables使用下面命令:

iptables -A INPUT -p tcp -m tcp --dport https -j ACCEPT

第一步:转换证书格式(.jks)

第二步: 进入Tomcat安装目录, d:/apache-tomcat-8.0.18, 把下载的jks文件放在tomcat安装目录即可。

d:/apache-tomcat-8.0.18/sslsky.com.jks
第三步: 打开tomcat配置文件 conf/server.xml

tomcat默认一般是8080端口或者 80端口,先找到这一段。

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在这段下面插入下面配置:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
clientAuth="false" sslProtocol="TLS" keystoreFile="sslsky.com.jks" keystorePass="123456" />

注意事项:

防火墙要允许443端口

使用CDN,需要让CDN服务商安装SSL

Tomcat 6.0上面配置如果无法启动,把protocol修改为 protocol=”HTTP/1.1″

windows平台运行tomcat , bin目录下必须有tcnative-1.dll

org.apache.coyote.http11.Http11Protocol - blocking Java connector
org.apache.coyote.http11.Http11NioProtocol - non blocking Java connector
org.apache.coyote.http11.Http11AprProtocol - the APR/native connector.
tomcat 修改DHE大小
-Djdk.tls.ephemeralDHKeySize=2048

第⼀步:转换证书格式(.pfx)

第⼆步:⾸先上传PFX格式证书到服务器桌⾯,打开IIS管理器,选择【服务器证书】

第三步:右键导⼊PFX证书, 输⼊证书密码。

第四步:把证书绑定到网站。 选择网站,右键 ,点击“编辑绑定”。

第五步:点击”添加”,选择 “HTTPS”,选择刚刚导⼊的证书名称,点击确定。

至此,SSL已配置完毕,如果通过https访问不了⽹站,需要确认防⽕墙是否拦截了443端口,如果没有开放请开放443端口。

如果IIS7下想绑定多个⼦域名,就需要⼿动配置了,因为IIS7下默认⽀持单个443端口。

配置方法如下:网上的资料⼤部分都是建议修改IIS7配置⽂件直接指定主机名,内容如下:

记事本打开C:\Windows\system32\inetsrv\config\applicationHost.config
通过ctrl+F 查找 定位到如下位置:

找到https的配置项⽬⾏(带有443端⼝的那⾏),修改为:

注意这里的www.sslcity.com要换成你自己的域名,之后保存即可。

此处列举了多个按需添加即可单域名证书只可添加⼀条,如果购买了通配符证书可以把⽹站下属所有子域名都加上即可。

注意:如果使用了CDN, 需在CDN上配置SSL证书。

HTTPS已大面积普及,相关的技术也已经非常成熟。要明白OCSP装订是什么,首先要明白OCSP是个啥。OCSP(英文全称Online1Certificate Status1Protoco),即在线证书状态协议,是用来检验证书合法性的在线查询协议。

翻译成人话:网站的每个访问者都会进行OCSP查询。OCSP装订,可代替在线证书状态协议(OCSP)来查询证书的状态。那就可以优化 HTTPS 速度,因为大部分CA的OSCP服务器都不在中国大陆内

了解这一切,先从CRL说起
当用户通过HTTPS访问您的站点时,服务器需要将您站点的TLS证书响应给用户。用户浏览器会检查证书的到期时间,并拒绝任何已过期/已无效的证书。

在某些情况下,服务器拥有者因为私钥泄漏,必须将证书标记为无效,此时就依赖证书颁发机构实施至少一种方法来吊销有问题的证书并通知浏览器拒绝这些已被吊销的证书。

CRL(英文全称Certificate Revocation List),即证书吊销列表,是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构已经吊销的证书的序列号及其吊销日期。用户在访问您的站点前,浏览器会先下载并解析CRL文件,而后通过CRL文件校验您的证书是否已经吊销。

随着HTTPS的普及,已发布的CRL文件越来越大,这无疑加大了每次链接的网络开销,CRL无法很好的扩展表现的越来越明显。

OCSP验证网站服务器的证书是否有效
OCSP(英文全称Online1Certificate Status1Protoco),即在线证书状态协议,是用来检验证书合法性的在线查询协议。当用户通过HTTPS访问您的网站的时候,客户浏览器会通过OCSP响应者验证网站服务器的证书是否有效。(浏览器现在可以与响应者联系,以请求CA颁发的单个证书的吊销状态,而不必获取和处理整个CRL。)

OCSP看起来似乎是一种有效的解决方案,但新协议已被证明存在实用性问题。

性能问题,浏览器需要为每个新的HTTPS连接执行附加的HTTP请求,增加了网络开销;
安全问题,大多数实际的OCSP实施不够可靠(由于网络滞后,配置或应用程序错误),导致用户浏览器实施OCSP检查失败。如果无法访问OCSP服务器或服务器超时,浏览器将认为证书有效并继续进行HTTPS连接;
隐私问题,由于证书与密钥和域名相关联,并且浏览器在每个新的HTTPS连接之前请求吊销状态,这意味着浏览器会将其用户的网络历史的很大一部分泄漏给OCSP响应者。
OCSP装订是TLS证书状态查询扩展
OCSP装订 (OCSP Stapling)作为对OCSP协议缺陷的弥补,实现了服务器可以事先模拟浏览器对证书链进行验证,并将带有CA机构签名的OCSP验证结果响应保存到本地,最多可缓存7天。等到真正的握手阶段,再将OCSP响应和证书链一起下发给浏览器,以此避免增加浏览器的握手延时。由于浏览器不需要直接向 CA 站点查询证书状态,这个功能对访问速度的提升非常明显。

由于装订是在服务器中实现的,因此浏览器无法知道服务器是否真正支持装订,而且OCSP装订本身不能完全解决OCSP的软故障安全问题。

结果,具有持有被盗证书私钥的攻击者可以通过提供证书而无需OCSP装订来执行降级攻击。受害者的浏览器无法证实服务器是否真正支持装订,并无法像通常那样继续查询OCSP响应程序。然后,攻击者可以简单地阻止此OCSP查询,并有效地迫使浏览器接受证书有效。

OCSP必须装订(英文全称OCSP Must-Staple),即CA和浏览器供应商引入的防止OCSP装订被攻击的SSL证书扩展,该扩展要求必须对证书进行OCSP装订。如果浏览器遇到带有此扩展名的证书而未使用OCSP装订,则将被拒绝。

OCSP必须装订可以缓解上述降级攻击,还可以减少流向CA的OCSP响应程序的不必要的流量,这也帮组提高了OCSP的整体性能。

SSL证书与IP证书都是由CA认证机构颁发的数字证书,可以对网站传输数据进行加密,维护互联网安全。今天就随SSL盾小编了解SSL证书与IP证书之间的关系。

1.SSL证书

SSL(Secure Sockets Layer)证书,又称之为服务器证书。是由CA认证机构颁发,部署到服务器上的数字证书,通过加密用户与服务器之间的数据传输,确保信息在传输过程中不被第三方截获或篡改。

由CA认证机构颁发的SSL证书可以分为单域名SSL证书、多域名SSL证书及通配符SSL证书等类型。这些SSL证书主要服务于拥有自己域名的网站,如企业网站、电商平台、个人博客等。通过为网站提供HTTPS加密,SSL证书能够提升网站的安全性,增强用户对网站的信任度。同时,SSL证书还具备SEO优化、提升网站形象等多重优势。但是,SSL证书中还有一些特殊的证书,例如IP SSL证书。

2.IP证书

IP证书,也可以称之为IP地址SSL证书。它也是由CA认证机构颁发的SSL证书,功能和绑定域名的SSL证书一样,可以为只有公网IP地址没有解析域名的网站提供数据加密服务。也就是说IP证书其实也是一种SSL证书,只是我们比较常见的SSL证书是绑定域名的证书,才不了解IP证书。

3.SSL证书中的IP证书特点

申请对象不同:域名SSL证书是基于域名申请的,用于保护域名型网站实现HTTPS加密;而IP证书则是针对具体的IP地址进行申请,适用于那些直接通过IP地址提供服务或通信的场景。