分类
知识中心

HTTPS与SNI扩展,一个IP绑定多个SSL证书

在搭建支持HTTPS的前端代理服务器时候,通常会遇到让人头痛的证书问题。根据HTTPS的工作原理,浏览器在访问一个HTTPS站点时,先与服务器建立SSL连接,建立连接的第一步就是请求服务器的证书。而服务器在发送证书的时候,是不知道浏览器访问的是哪个域名的,所以不能根据不同域名发送不同的证书。用过GoAgent的人都知道需要给浏览器导入证书才能使用HTTPS正常登录Twitter等网站。

SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。一句话简述它的工作原理就是,在连接到服务器建立SSL链接之前先发送要访问站点的域名(Hostname),这样服务器根据这个域名返回一个合适的证书。目前,大多数操作系统和浏览器都已经很好地支持SNI扩展,OpenSSL 0.9.8已经内置这一功能,据说新版的nginx也支持SNI。

HTTPS与SNI扩展,一个IP绑定多个SSL证书-1

Github上有一个小巧的支持SNI的代理服务器,https://github.com/dlundquist/HTTPS-SNI-Proxy

我down下来,在一个VPS上编译(需要安装pcre的开发库),写了一个简单的配置文件,把所有访问443端口的HTTPS请求都进行代理。启动sni_proxy之后,修改本地的hosts文件,把twitter.com映射为服务器的IP地址,比如我的是

184.82.206.107 twitter.com

然后,在浏览器里访问 https://twitter.com/。

HTTPS与SNI扩展,一个IP绑定多个SSL证书-2

看到木有,这是活生生的twitter的证书。

HTTPS与SNI扩展,一个IP绑定多个SSL证书-3

分类
公司新闻

MPKI,VeriSign SSL证书、代码签名证书管理助手

 如果您正在管理SSL证书代码签名证书,那您是否正在经历下边这些传统证书管理中出现的问题呢?
  每张证书的签发、更新都需要全套的商务流程、完备的资料提交流程、复杂的审核验证流程、需要漫长的等待……
MPKI为您解决以上全部问题,她是阁下贴心的证书管理助手,她让一切化繁为简,现在就走进她吧!
  什么是MPKI?
  MPKI(Managed Public Key Infrastructure)是Symantec推出的针对VeriSign SSL品牌证书全生命周期的自主管理系统,一站完成多种类型SSL证书及代码签名证书产品的签发、续费、吊销、替换,省去资料提交、鉴证审核、商务流程等环节,降低成本,节省时间,且企业可根据自己需求随时进行证书的核发、重发等操作,自主便捷,安全高效,尤其让大批量证书管理者的工作化繁为简,是证书管理的贴心助手。
  MPKI的功能优势
  证书全生命周期自主管理
  企业可根据自身需求随时自主对MPKI中的证书进行签发、续费、重签、吊销、替换等操作,方便快捷.可以全面掌握您企业所有的证书,不用再由CA中心单独颁发。保持业务的连续性,防止未知证书过期。
 无需任何投入与费用,即可一键轻松管理全部证书
企业无需增加任何网络基础设施、人员、服务及系统维护费用的投入,登录MPKI系统即可轻松管理所有证书,与单独购买证书相比大大节省企业成本
预审机制
  企业注册管理员账户时即完成公司资质及域名的审核,一次审核,全年有效,通过审核即可随时签发证书,快速响应业务需求。省去资料提交、鉴证等过程,高效自主
  可扩展的云端证书管理服务
  基于云的控制台,企业可以轻松和快速部署MPKI,同时可根据应用需求灵活扩展证书的种类、数量及年限
弹性的管理权限
  企业证书管理员可以根据企业运营需求创建子账户,给予相应的权限,并集中进行管理
可自定义的证书签发流程
  企业证书管理员可以通过账户管理为相应证书量身定制注册流程,且管理员可自主完成证书签发,也可指派人员提交申请后由管理员统一签发
详细报告和审核跟踪
  MPKI可自动生成关于管理操作等统计报告,且可导出,安全合规。
  同一ssl凭证支持多种加密演算法
  同时支持RSA、DSA和ECC三种算法
 广泛的证书产品支持
  MPKI可根据您的证书应用需求,定制扩展产品。
统一管理服务支持签发VeriSign 强制型SSL证书、支持型SSL证书 及EVSSL强制型证书、EVSSL支持型证书和代码签名证书产品。同时,您还可以通过账户签发包含多个域名的多域名证书SAN)用于统一通讯服务(Unified Communications简称UC)金融应用证书(OFX)和微软OCS服务(Microsoft Office Communications Server)。多域名选项支持最高达100个域名。

MPKI,VeriSign SSL证书、代码签名证书管理助手-1

支持扩展证书为多域名SSL证书,最多支持100个子域名
无法仿冒的Symantec安全签章

每日网站恶意代码扫描管理
每周网站漏洞评估扫描管理
全球最广泛的客户端支持

分类
Symantec证书

Symantec MPKI管理账号(Managed Public Key Infrastructure)

您是否正在经历传统证书管理的问题:

♦ 每张证书的签发、更新都需要全套的商务流程

♦ 每张证书的签发、更新都需要完备的资料提交流程

♦ 每张证书的签发、更新都需要复杂的审核验证流程

♦ 每张证书的签发、更新都需要漫长的等待……

MPKI为您解决以上全部问题,她是阁下贴心的证书管理助手,

她让一切化繁为简,现在就走进她吧!

 

什么是MPKI?

MPKI(Managed Public Key Infrastructure)是Symantec推出的针对VeriSign SSL证书全生命周期的自主管理系统,一站完成多种类型SSL证书代码签名证书产品的签发、续费、吊销、替换,省去资料提交、鉴证审核、商务流程等环节,降低成本,节省时间,且企业可根据自己需求随时进行证书的核发、重发等操作,自主便捷,安全高效,尤其让大批量证书管理者的工作化繁为简,是证书管理的贴心助手。

 

MPKI的功能优势

♦ 证书全生命周期自主管理

企业可根据自身需求随时自主对MPKI中的证书进行签发、续费、重签、吊销、替换等操作,方便快捷.可以全面掌握您企业所有的证书,不用再由CA中心单独颁发。保持业务的连续性,防止未知证书过期。

♦ 无需任何投入与费用,即可一键轻松管理全部证书

企业无需增加任何网络基础设施、人员、服务及系统维护费用的投入,登录MPKI系统即可轻松管理所有证书,与单独购买证书相比大大节省企业成本。

♦ 预审机制

企业注册管理员账户时即完成公司资质及域名的审核,一次审核,全年有效,通过审核即可随时签发证书,快速响应业务需求。省去资料提交、鉴证等过程,高效自主

♦ 可扩展的云端证书管理服务。

基于云的控制台企业可以轻松和快速部署MPKI,同时可根据应用需求灵活扩展证书的种类、数量及年限。

♦ 弹性的管理权限

企业证书管理员可以根据企业运营需求创建子账户,给予相应的权限,并集中进行管理。

♦ 可自定义的证书签发流程

企业证书管理员可以通过账户管理为相应证书量身定制注册流程,且管理员可自主完成证书签发,也可指派人员提交申请后由管理员统一签发。

♦ 详细报告和审核跟踪

MPKI可自动生成关于管理操作等统计报告,且可导出,安全合规。

♦ 同一ssl凭证支持多种加密演算法

同时支持RSA、DSA和ECC三种算法。

♦ 广泛的证书产品支持

MPKI可根据您的证书应用需求,定制扩展产品。

统一管理服务支持签发强制型SSL证书、支持型SSL证书 及EVSSL强制型证书、EVSSL支持型证书和代码签名证书产品。同时,您还可以通过账户签发包含多个域名的多域名SSL证书SAN)用于统一通讯服务(Unified Communications简称UC)金融应用证书(OFX)和微软OCS服务(Microsoft Office Communications Server)。多域名选项支持最高达100个域名。

Symantec MPKI管理账号(Managed Public Key Infrastructure)-1

♦ 无法仿冒的Symantec安全签章

♦ 每日网站恶意代码扫描管理

♦ 每周网站漏洞评估扫描管理

♦ 全球最广泛的客户端支持

 

服务与技术支持

客户服务:MPKI用户享受大客户服务。

技术支持:技术人员为您提供详细的操作指导文档,账户管理培训,从帐户注册到证书安装,提供7  X 24全方位的技术支持。

 

客服电话:4006-365-010

 

部分成功客户

百度、淘宝、支付宝、中信银行、盛大、搜狐

分类
知识中心

如何开启Nginx TLS(SSL) SNI support

VPS上的多个站点都使用SSL加密,主要那些twitter api被墙怕了,还是加密好

但是看一个ip只能一个ssl证书,我不可能去多买几个ip吧,毕竟只是自己想玩玩,不是那种必须的

但是既然想了就折腾下,后来查了下资料,可以multiple SSL sites on a single IP address

而Nginx如果开启了TLS SNI support,就能支持多个SSL加密站点共同使用一个IP

方法也很简单,首先先看看你现在的Nginx是否enable了这个功能

/usr/local/nginx/sbin/nginx -V

nginx: nginx version: nginx/1.1.0

nginx: TLS SNI support disable

nginx: configure arguments: –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-ipv6

 

如果是TLS SNI support disable那你需要重新编译下Nginx,如果enable了,你直接修改配置文件就行

这里的环境事先说明,这里使用LNMP一键安装包搭建的环境,其他方法的请自行查看需要修改地方

方法很简单,首先安装OpenSSL,不过一般都装好的,这里忽略

下载openssl源码包

wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz

tar xvf openssl-1.0.0d.tar.gz

 

然后重新编译Nginx,需要在Configuare里多加一行参数,指明openssl的路径

我的openssl解压路径和nginx的目录在同级目录下,如果你的不在请自行修改

./configure –user=www –group=www –prefix=/usr/local/nginx \

–with-http_stub_status_module \

–with-http_ssl_module \

–with-http_gzip_static_module \

–with-ipv6 \

–with-openssl=../openssl-1.0.0d/

make

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

cp objs/nginx /usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -t

make upgrade

 

然后我们看下Nginx版本信息,确认下

/usr/local/nginx/sbin/nginx -V

nginx: nginx version: nginx/1.1.0

nginx: TLS SNI support enabled

nginx: configure arguments: –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-ipv6 –with-openssl=../../openssl-1.0.0d/

 

搞定,TLS SNI support enabled,接下来就是修改vhost的配置,加上ssl证书配置了

分类
知识中心

如何实现Tomcat http自动跳转至https

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTPS,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面

与http区别:

一、https协议需要到ca申请证书,一般免费证书很少,需要交费。

二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

SSL协议:

SSL安全套接层协议(Secure Socket Layer)

为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之IE.或Netscape浏览器即可支持SSL。

当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL协议位于TCP/IP协议与各种应用层协议之间,是一种国际标准的加密及身份认证通信协议,为TCP提供一个可靠的端到端的安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

如何配置:

1、生成服务器端证书文件

可以使用Windows系统或者Linux系统

(1) Windows环境

条件:已经安装JDK

步骤:

l 进入%JAVA_HOME%/bin目录

l 执行命令

keytool -genkey -alias tomcat -keyalg RSA -keystore F:tomcat.keystore -validity 36500

参数简要说明:“F:tomcat.keystore”含义是将证书文件保存在F盘,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天

l 在命令行填写必要的参数:

A、输入keystore密码:此处需要输入大于6个字符的字符串

B、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址

C、 “你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息

D、输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以

l 完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件

(2) Linux环境

条件:安装了JDK

步骤:

l 进入$JAVA_HOME/bin目录

l 执行命令

./keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/ac/web/tomcat.keystore -validity 36500

参数简要说明:“/etc/tomcat.keystore”含义是将证书文件保存在路径/usr/local/ac/web/下,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天

l 在命令行填写必要的参数:

截图如下:

截图部分说明:

A、Enter keystore password:此处需要输入大于6个字符的字符串

B、“What is your first and last name?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址

C、“What is the name of your organizational unit?”、“What is the name of your organization?”、“What is the name of your City or Locality?”、“What is the name of your State or Province?”、“What is the two-letter country code for this unit?”可以按照需要填写也可以不填写直接回车,在系统询问“correct?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息

D、Enter key password for <tomcat>,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以

l 完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件

2、配置TOMCAT服务器

(1) 如果你是在Windows环境中生成证书文件,则需要将生成的证书tomcat.keystore拷贝到Tomcat将要引用的位置,假设tomcat的应用证书的路径是“/etc/tomcat.keystore”,则需要将证书文件拷贝到“etc/”下;如果是在Linux环境按照上述介绍的步骤生成证书文件的话,此时证书文件已经在“etc/”下。

(2) 配置Tomcat,打开$CATALINA_HOME/conf/server.xml,修改如下,

<Connector port=”8080″ protocol=”HTTP/1.1″

connectionTimeout=”20000″

redirectPort=”8443″ />

修改参数=>

<Connector port=”80″ protocol=”HTTP/1.1″

connectionTimeout=”20000″

redirectPort=”443″ />

 

<!–

<Connector port=”8443″ protocol=”HTTP/1.1″ SSLEnabled=”true”

maxThreads=”150″ scheme=”https” secure=”true”

clientAuth=”false” sslProtocol=”TLS”/>

–>

去掉注释且修改参数=>

<Connector port=”443″ protocol=”HTTP/1.1″ SSLEnabled=”true”

maxThreads=”150″ scheme=”https” secure=”true”

clientAuth=”false” sslProtocol=”TLS” keystoreFile=”/etc/tomcat.keystore” keystorePass=”www.gbcom.com.cn”/>

注释:标识为淡蓝色的两个参数,分别是证书文件的位置和<tomcat>的主密码,在证书文件生成过程中做了设置

<!–

<Connector port=”8009″ enableLookups=”false” protocol=”AJP/1.3″ redirectPort=”8443″ />

–>

修改参数=>

<Connector port=”8009″ enableLookups=”false” protocol=”AJP/1.3″ redirectPort=”443″ />

(3) 打开$CATALINA_HOME/conf/web.xml,在该文件末尾增加:

2.强制https访问

在tomcatconfweb.xml中的</welcome-file-list>后面加上这样一段:

Java代码

1. <login-config>

2. <!– Authorization setting for SSL –>

3. <auth-method>CLIENT-CERT</auth-method>

4. <realm-name>Client Cert Users-only Area</realm-name>

5. </login-config>

6. <security-constraint>

7. <!– Authorization setting for SSL –>

8. <web-resource-collection >

9. <web-resource-name >SSL</web-resource-name>

10. <url-pattern>/*</url-pattern>

11. </web-resource-collection>

12. <user-data-constraint>

13. <transport-guarantee>CONFIDENTIAL</transport-guarantee>

14. </user-data-constraint>

15. </security-constraint>

3、上述配置完成后,重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址不必输入“http://” 或者 “https://” ;也可以输入 “http:// ” 会跳转成为 “https://” 来登录

4、注意事项:

(1) 生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效”

(2) 如果IE提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”/“What is your first and last name?”不正确引起的