当前位置:文档之家› SSL单双向验证原理

SSL单双向验证原理

SSL单双向验证原理
SSL单双向验证原理

一SSL验证

为了便于更好的认识和理解SSL 协议,这里着重介绍SSL 协议的握手协议。SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:

①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。

②服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。

③客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。

④用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。

⑤如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。

⑥如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。

⑦服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL 协议的安全数据通讯的加解密通讯。同时在SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。

⑧客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。

⑨服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。

⑩SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。

二双向SSL握手认证

双向认证SSL 协议的具体过程

①浏览器发送一个连接请求给安全服务器。

②服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

③客户浏览器检查服务器送过来的证书是否是由自己信赖的CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。

④接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

⑤服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有

通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。

⑥客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

⑦服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。

⑧浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

⑨服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。

⑩服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

上面所述的是双向认证SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证SSL 协议不需要客户拥有CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响SSL 过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用128 位加密通讯的原因。

三证书结构

证书各部分的含义

Version ,证书版本号,不同版本的证书格式不同

Serial Number,序列号,同一身份验证机构签发的证书序列号唯一

Algorithm Identifier,签名算法,包括必要的参数Issuer 身份验证机构的标识信息Period of Validity,有效期

Subject,证书持有人的标识信息

Subject’s Public Key,证书持有人的公钥

Signature,身份验证机构对证书的签名

证书的格式

认证中心所发放的证书均遵循X.509 V3 标准,其基本格式如下:

证书版本号(Certificate Format Version)含义:用来指定证书格式采用的X.509 版本号。

证书序列号(Certificate Serial Number)含义:用来指定证书的唯一序列号,以标识CA 发出的所有公钥证书。

签名(Signature)算法标识(Algorithm Identifier)含义:用来指定CA 签发证书所用的签名算法。签发此证书的CA 名称(Issuer )含义:用来指定签发证书的CA 的X.500 唯一名称(DN,Distinguished Name)。

证书有效期(Validity Period)起始日期(notBefore)终止日期(notAfter)含义:用来指定证书起始日期和终止日期。

用户名称(Subject)含义:用来指定证书用户的X.500 唯一名称(DN,Distinguished Name)。

用户公钥信息(Subject Public Key Information)

算法(algorithm)

算法标识(Algorithm Identifier)

用户公钥(subject Public Key)含义:用来标识公钥使用的算法,并包含公钥本身。

证书扩充部分(扩展域)(Extensions)含义:用来指定额外信息。

X.509 V3 证书的扩充部分(扩展域)及实现方法

CA 的公钥标识(Authority Key Identifier)

公钥标识(SET 未使用)(Key Identifier)

签发证书者证书的签发者的甄别名(Certificate Issuer)

签发证书者证书的序列号(Certificate Serial Number)

X.509 V3 证书的扩充部分(扩展域)及实现

CA 的公钥标识(Authority Key Identifier)

公钥标识(SET 未使用)(Key Identifier)

签发证书者证书的签发者的甄别名(Certificat

签发证书者证书的序列号(Certificate Serial N含义:CA 签名证书所用的密钥对的唯一标识

用户的公钥标识(Subject Key Identifier)含义:用来标识与证书中公钥相关的特定密钥进行解密。

证书中的公钥用途(Key Usage)含义:用来指定公钥用途。

用户的私钥有效期(Private Key Usage Period)

起始日期(Note Before)

终止日期(Note After)含义:用来指定用户签名私钥的起始日期和终止日期。

CA 承认的证书政策列表(Certificate Policies)含义:用来指定用户证书所适用的政策,证书政策可由对象标识符表示。

用户的代用名(Substitutional Name)含义:用来指定用户的代用名。

CA 的代用名(Issuer Alt Name)含义:用来指定CA 的代用名。

基本制约(Basic Constraints)含义:用来表明证书用户是最终用户还是CA。

在SET 系统中有一些私有扩充部分(扩展域)Hashed Root Key 含义:只在根证书中使用,用于证书更新时进行回溯。

证书类型(Certificate Type)含义:用来区别不同的实体。该项是必选的。

商户数据(Merchant Data)含义:包含支付网关需要的所有商户信息。

持卡人证书需求(Card Cert Required)含义:显示支付网关是否支持与没有证书的持卡人进行交易。

SET 扩展(SETExtensions)含义:列出支付网关支持的支付命令的SET 信息扩展。

CRL 数据定义版本(Version)含义:显示CRL 的版本号。

CRL 的签发者(Issuer)含义:指明签发CRL 的CA 的甄别名。

CRL 发布时间(this Update)

预计下一个CRL 更新时间(Next Update)

撤销证书信息目录(Revoked Certificates)

CRL 扩展(CRL Extension)

CA 的公钥标识(Authority Key Identifier)

CRL 号(CRL Number)

SSL证书验证过程解读

SSL证书验证过程解读及申请使用注意事项 SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,由受信任的数字证书颁发机构CA(如沃通CA)验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的域名与证书上绑定的域名是否一致,同时还要对证书的颁发机构进行验证,如果验证失败浏览器会给出证书错误的提示。 本文将对SSL证书的验证过程以及个人用户在访问HTTPS网站时,对SSL证书的使用需要注意哪些安全方面的问题进行描述。 一、数字证书的类型 实际上,我们使用的数字证书分很多种类型,SSL证书只是其中的一种。证书的格式是由X.509标准定义。SSL证书负责传输公钥,是一种PKI(Public Key Infrastructure,公钥基础结构)证书。 我们常见的数字证书根据用途不同大致有以下几种: 1、SSL证书:用于加密HTTP协议,也就是HTTPS。 2、代码签名证书:用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java 代码签名等等。 3、客户端证书:用于加密邮件。 4、双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书。 这些证书都是由受认证的证书颁发机构CA(Certificate Authority)来颁发,针对企业与个人的不同,可申请的证书的类型也不同,价格也不同。CA机构颁发的证书都是受信任的证书,对于SSL证书来说,如果访问的网站与证书绑定的网站一致就可以通过浏览器的验证而不会提示错误。 二、SSL证书申请与规则 SSL证书可以向CA机构通过付费的方式申请,也有CA机构提供免费SSL证书如沃通CA。 CA机构颁发的证书有效期一般只有一年到三年不等,过期之后还要再次申请,在ssl 证书应用中企业网站应用较多。但是随着个人网站的增多,以及免费SSL证书的推出,个人网站ssl证书应用数量也在飞速增加。在百度开放收录https网站后,预计https网站将迎来井喷。 在申请SSL证书时需要向CA机构提供网站域名,营业执照,以及申请人的身份信息等。网站的域名非常重要,申请人必须证明自己对域名有所有权。此外,一个证书一般只绑定一个域名,比如你要申请域名时绑定的域名是https://www.doczj.com/doc/af7646066.html,,那么只有在浏览器地址是

如何通过SSL证书开启服务器443端口

如何通过SSL证书开启服务器443端口 前阵子遇到个问题,因为我们的网站是外贸网站,需要通过Paypal付款,但是,客户通过PP付款之后居然不能生成订单号,后来发现服务器的443端口是关闭状态,好了,问题来了:如何开启服务器的443端口呢? 深圳国际快递https://www.doczj.com/doc/af7646066.html,在这里分享一下开启443端口的经验: 第一:当然是配置硬件,把防火墙令443端口放行!具体办法朋友可以去百度一下哈,其实落伍里面也有! 第二,创建SSL证书,我个人觉得这个比较重要,下面把具体的方法分享给一下。 #LoadModule ssl_module modules/mod_ssl.so 的#去掉,开启SSL功能。 然后我们要新建一个SSL虚拟目录,监听443端口 一般情况下我使用centos的虚拟列表都会放到/etc/httpd/conf.d/目录下 依旧是在这个目录下新建一个ssl.conf,并且在你的网站列表新建一个ssl文件夹,我的习惯是/var/www/vhosts/ssl 将你的server.crt和ca-server.crt文件以及你原来生成的server.key文件一起上传到ssl文件夹内。 进入/etc/httpd/conf.d/ 输入 vi ssl.conf 使用vi编辑器编辑ssl.conf内容如下 DocumentRoot "/var/www/vhosts/site_dir/httpdocs" SSLEngine on SSLProtocol all -SSLv2 SSLCertificateFile /var/www/vhosts/ssl/server.crt SSLCertificateKeyFile /var/www/vhosts/ssl/server.key SSLCACertificateFile /var/www/vhosts/ssl/ca-server.crt SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 然后将你的域名强制https进行访问 将 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 当然,这个证书是在自己服务器上创建的,自己使用还是可以的,但是在浏览器中,这

Linux下利用openssl 生成SSL证书步骤

Linux下利用openssl 生成SSL证书步骤 1、概念 首先要有一个CA根证书,然后用CA根证书来签发用户证书。 用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。 2、后缀详解 .key格式:私有的密钥 .csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request 的缩写 .crt格式:证书文件,certificate的缩写 .crl格式:证书吊销列表,Certificate Revocation List的缩写 .pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式 3、添加 index.txt 和 serial 文件 cd /etc/pki/CA/ touch /etc/pki/CA/index.txt touch /etc/pki/CA/serial echo 01 > /etc/pki/CA/serial 4、CA根证书的生成 4.1 生成CA私钥(.key) openssl genrsa -out ca.key 2048 [root@CA]# openssl genrsa -out ca.key 2048 Generating RSA private key, 2048 bit long modulus .............+++ .....+++ e is 65537 (0x10001) 4.2 生成CA证书请求(.csr) openssl req -new -key ca.key -out ca.csr [root@CA]# openssl req -new -key ca.key -out ca.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value,

SSL证书配置

1.确定配置好java的环境变量 2.生成密钥库 新建一个密钥临时目录/home/genkey,并cd到/home/genkey 参数alias的为密钥标识第2、3、4步的命令中的alias必须完全一致 输入以下命令: keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 3650 -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 按照提示输入信息,第一个名字与姓氏必须为localhost,其他可以随意填写。 执行成功后/home/genkey下生成了一个server.keystore文件。 Tomcat: 3.导出证书 keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit 执行成功后/home/genkey下生成了一个server.cer文件。

4.导入到java信任库中 keytool -import -trustcacerts -alias tomcat -file server.cer -keystore /opt/Java/jdk1.6.0_35/jre/lib/security/cacerts -storepass changeit /opt/Java/jdk1.6.0_35修改为服务器java安装目录再执行 5.修改tomcat配置 打开tomcat目录下conf/server.xml,修改keystoreFile及keystorePass WAS: 6.进入was控制台界面

SSL证书工具使用说明

天威诚信SSL证书工具使用说明 天威诚信SSL证书工具专业版,集CSR生成、CSR校验、证书格式转换和证书配置检测于一体,在客户端上即可完成CSR 在线自动生成并能快速校验CSR信息,实现不同证书间的格式互转,快速有效的检测出证书的安装状态,操作简单,易于上手,是SSL证书安装使用过程中不可或缺的得力干将。 一,CSR生成 按照工具提示的信息填写您申请证书的真实信息,点击生成CSR文件。下图为填写示例:

*注:目前主流密钥算法为RSA,长度为2048位,签名算法为SHA256。 通过点击保存私钥文件和CSR文件,保存文件到本地。私钥文件您需要在本地备份并妥善保管,CSR申请文件需要提交给商务人员。 二,CSR校验 字符串校验:您可以打开制作的CSR文件,并把字符串复制到空白框中并点击“验证CSR 文件”。

文件校验:通过添加本地CSR文件并进行验证。 二,证书格式转换 1,PEM转JKS 1,首先准备好server.pem证书文件和server.key私钥文件。 2,将证书签发邮件中的包含服务器证书代码的文本复制出来(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中。在服务器证书代码文本结尾,回车换行不留空行,并粘贴中级CA证书代码(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,每串证书代码之间均需要使用回车换行不留空行),修改文件扩展名,保存包含多段证书代码的文本文件为server.pem文件。 3,在源证书文件中录入server.pem,源私钥文件中录入server.key文件。(如果您的.key 私钥文件没有设置密码,源私钥密码处可以为空) 4,在“目标证书别名”选择中这是JKS文件密钥别名,并在“目标证书密码”中设置JKS 文件密码。

制作和使用SSL证书

制作和使用SSL证书 在Linux环境下,一般都安装有OPENSSL。下面的内容就是用OPENSSL快速制作root 证书以及客户端证书的步骤和方法。 1、初始准备工作 1)创建一个我们制作证书的工作目录 # mkdir CA # cd CA # mkdir newcerts private 2)制作一个我们创建证书时需要的配置文件,内容可以参考见 # cd CA # vi 3)创建我们自己的证书库的索引 # echo '01' >serial # touch 2、制作一个root证书 执行下面的命令 # openssl req -new -x509 -extensions v3_ca -keyout private/ \ -out -days 3650 -config ./ 在屏幕上会出现如下的交互内容,按照提示相应的信息。注意,一定要记住PEM,这个在以后生成客户端证书时都需要。 Using configuration from ./ Generating a 1024 bit RSA private key .......++++++ ..........................++++++ writing new private key to 'private/' Enter PEM pass phrase:demo Verifying password - Enter PEM pass phrase:demo ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value,

SSL双向认证证书制作过程流程

SSL双向认证证书制作流程 ——含单向SSL 一、证书制作: 1、生成服务器密钥(库): keytool -genkey -alias server -keyalg RSA -keysize 2048 -validity 3650 -dname "CN=localhost,OU=DTY,O=BMC,L=Beijing,ST=Beijing,C=CN" -keypass 123456 -keystore server.jks -storepass 123456 CN:要签名的[域名]或[IP](说明:此处为要配置SSL服务器IP 或域名) OU:组织单位名称,如:[公司注册简称] O:组织名称,如:[公司英文全称] L:城市或地区名称,如:[Beijing] ST:州或省份名称,如:[Beijing] C:单位的两字母国家代码,如:[CN] 2、验证生成的服务器密钥(库): keytool -list -v -keystore server.jks -storepass 123456

3、为步骤1生成的服务器密钥(库)创建自签名的证书: keytool -selfcert -alias server -keystore server.jks -storepass 123456 4、验证生成的服务器密钥(库): keytool -list -v -keystore server.jks -storepass 123456

5、导出自签名证书: keytool -export -alias server -keystore server.jks -file server.cer -storepass 123456 说明:此证书为后续要导入到浏览器中的受信任的根证书颁发机构。 6、生成客户端密钥(库): 说明:keytool –genkey命令默认生成的是keystore文件,但为了能顺利导入到IE或其他浏览器中,文件格式应为PKCS12。 稍后,此P12文件将导入到IE或其他浏览器中。 keytool -genkey -alias client -keyalg RSA -keysize 2048 -validity 3650 -dname

Apache安装配置SSL证书方法教程

Apache SSL证书安装配置方法教程 1.1 SSl证书安装环境简介 Centos 6.4 操作系统; Apache2.2.*或以上版本; Openssl 1.0.1+; SSL 证书一张(备注:本指南使用https://www.doczj.com/doc/af7646066.html, 域名OV SSL 证书进行操作,通用其它版本证书) 1.2 网络环境要求 请确保站点是一个合法的外网可以访问的域名地址,可以正常通过或http://XXX 进行正常访问。 2.1 生成请求文件csr 首先下载openssl软件,可以去openssl官网下载: https://www.doczj.com/doc/af7646066.html,/source/ 下载后安装到本地计算机。 2.1.1 查看openssl 在终端输入openssl version 查看openssl当前版本。 图 1 2.1.2 生成key私钥文件 使用以下命令来生成私钥:opensslgenrsa -des3 -out https://www.doczj.com/doc/af7646066.html,.key 2048,生成的私钥保存在当期目录。

图 2 2.1.3 生成csr文件 使用以下命令来生成私钥:opensslreq -new -key https://www.doczj.com/doc/af7646066.html,.key -out https://www.doczj.com/doc/af7646066.html,.csr 图 3 Country Name (2 letter code) [GB]: 输入国家地区代码,如中国的CN State or Province Name (full name) [Berkshire]: 地区省份 Locality Name (eg, city) [Newbury]: 城市名称 Organization Name (eg, company) [My Company Ltd]: 公司名称 Organizational Unit Name (eg, section) []: 部门名称

SSL证书验证过程

SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。 SSL证书安全认证的原理: 安全套接字层(SSL) 技术通过加密信息和提供鉴权,保护您的网站安全。一份SSL 证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。浏览器指向一个安全域时,SSL 同步确认服务器和客户端,并创建一种加密方式和一个唯一的会话密钥。它们可以启动一个保证消息的隐私性和完整性的安全会话。 SSL证书的功能: a 确认网站真实性(网站身份认证):用户需要登录正确的网站进行在线购物或其它交易活动,但由于互联网的广泛性和开放性,使得互联网上存在着许多假冒、钓鱼网站,用户如何来判断网站的真实性,如何信任自己正在访问的网站,可信网站将帮你确认网站的身份。 b 保证信息传输的机密性:用户在登录网站在线购物或进行各种交易时,需要多次向服务器端传送信息,而这些信息很多是用户的隐私和机密信息,直接涉及经济利益或私密,如何来确保这些信息的安全呢?可信网站将帮您建立一条安全的信息传输加密通道。 其实现原理图如下图1所示: SSL证书的原理在SSL会话产生时,服务器会传送它的证书,用户端浏览器会自动的分析服务器证书,并根据不同版本的浏览器,从而产生40位或128位的会话密钥,用于对交易的信息进行加密。所有的过程都会自动完成,对用户是透明的,因而,服务器证书可分为两种:最低40位和最低128位(这里指的是SSL会话时生成加密密钥的长度,密钥越长越不容易破解)证书。 最低40位的服务器证书在建立会话时,根据浏览器版本不同,可产生40位或128位的SSL会话密钥用来建立用户浏览器与服务器之间的安全通道。而最低128位的服务器证书不受浏览器版本的限制可以产生128位以上的会话密钥,实现高级别的加密强度,无论是IE或Netscape浏览器,即使使用强行攻击的办法破译密码,也需要10年。

常见SSL证书问题集锦

常见SSL证书问题集锦 1. 如何实现用户用访问http时自动跳转到https的访问地址? 实现网页的自动跳转有两种方式: A 增加重定向到https B 在页面中加入自动跳转代码。例如:<—< meta http-equiv=”Refresh” content=”秒数; url=跳转的文件或地址”>—> 2. 同一张服务器证书是否可以配置在多台服务器上? 不可以。Verisign的签署协议中禁止客户在多台服务器上配置同一张证书。 3. 多台服务器多个域名,该如何选购SSL证书? 一般来讲,一个网站(一个域名)对应一个SSL证书,因为SSL证书是绑定域名的。只有通配型证书和多域型证书才支持多个域名。通配型证书适合于同一台物理服务器下的同一域名下的多个子域,如您在同一台物理服务器上有多个网站: https://www.doczj.com/doc/af7646066.html, https://www.doczj.com/doc/af7646066.html, https://www.doczj.com/doc/af7646066.html, https://www.doczj.com/doc/af7646066.html, 申请通配型SSL证书时填写的通用名称(Common Name)为: *https://www.doczj.com/doc/af7646066.html, 。 与通配型证书只支持子域不同的是,多域型SSL证书支持任何域名,不仅限于子域,如:https://www.doczj.com/doc/af7646066.html,、https://www.doczj.com/doc/af7646066.html,、 https://www.doczj.com/doc/af7646066.html,、https://www.doczj.com/doc/af7646066.html,、https://www.doczj.com/doc/af7646066.html,、https://www.doczj.com/doc/af7646066.html,、https://www.doczj.com/doc/af7646066.html,、 https://www.doczj.com/doc/af7646066.html,等等。不仅适合于有多个域名需要部署SSL证书的单位,更适合于虚拟主机服务提供商为不同单位的不同域名的网站部署SSL证书。 请注意:以上两种证书都使用于同一台物理服务器,如果您有多台物理服务器在使用同一个域名(负载均衡方式),则您需要为多台服务器购买多服务器许可证即可。 4. 部分客户端访问IIS服务器时,证书链中的中级证书过期怎么办?

JDK自带工具keytool生成ssl证书

JDK自带工具keytool生成ssl证书 前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全。 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具:keytool,外加看了同事的心得体会,自己总结了一下具体的使用方法和使用过程中发现的问题及解决办法。 1:什么是HTTPS? HTTPS其实是有两部分组成:HTTP + SSL / TLS, 也就是在HTTP上又加了一层处理加密信息的模块,并且会进行身份的验证。 问题: Firebug和postman之类的浏览器调试工具,为什么获取到的是明文? 解答: SSL是对传输的数据进行加密,针对的是传输过程的安全。 firebug之类的浏览器调试工具, 因为他们得到的是客户端加密之前/解密之后的数据,因此是明文的。 2:什么是自签名证书? 就是自己生成的证书,并不是官方生成的证书。 除非是很正式的项目,否则使用自己签发的证书即可,因为官方生成证书是要花钱滴。 3:进入正题,使用JDK自带工具KeyTool 生成自签发证书!第一步:为服务器生成证书 打开CMD命令行工具,cd到C盘根目录或者是jdk的bin目录下,如下图所示:

附录1:常用keytool命令

使用keytool命令生成证书: keytool -genkey -alias tomcat(别名) -keypass 123456(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore D:/keys/tomcat.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码) 方便复制版: keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365-keystore D:/keys/tomcat.keystore -storepass 123456 图例: 回车执行后如下图: 点击回车即可在D:/keys/文件夹内生成名为:tomcat.keystore的文件。 成功后无提示信息 注意: ①D:/keys/ 目录需要提前手动创建好,否则会生成失败 ②提示输入域名的时候不能输入IP地址 问题①的错误信息如下:

JDK自带工具keytool生成ssl证书

J D K自带工具 k e y t o o l生成s s l证 书 -CAL-FENGHAI.-(YICAI)-Company One1

JDK自带工具keytool生成ssl证书 前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全。 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具:keytool,外加看了同事的心得体会,自己总结了一下具体的使用方法和使用过程中发现的问题及解决办法。 1:什么是HTTPS HTTPS其实是有两部分组成:HTTP + SSL / TLS, 也就是在HTTP上又加了一层处理加密信息的模块,并且会进行身份的验证。问题: Firebug和postman之类的浏览器调试工具,为什么获取到的是明文 解答: SSL是对传输的数据进行加密,针对的是传输过程的安全。 firebug之类的浏览器调试工具, 因为他们得到的是客户端加密之前/解密之后的数据,因此是明文的。2:什么是自签名证书 就是自己生成的证书,并不是官方生成的证书。 除非是很正式的项目,否则使用自己签发的证书即可,因为官方生成证书是要花钱滴。 3:进入正题,使用JDK自带工具KeyTool 生成自签发证书!第一步:为服务器生成证书 打开CMD命令行工具,cd到C盘根目录或者是jdk的bin目录下,如下图所示:

附录1:常用keytool命令

使用keytool命令生成证书: keytool -genkey -alias tomcat(别名) -keypass 123456(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore D:/keys/(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码) 方便复制版: keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/ -storepass 123456 图例: 回车执行后如下图: 点击回车即可在D:/keys/文件夹内生成名为:的文件。 成功后无提示信息 注意: ①D:/keys/ 目录需要提前手动创建好,否则会生成失败 ②提示输入域名的时候不能输入IP地址 问题①的错误信息如下:

SSL证书安装文档

证书的申请及操作说明书 2013.02.21

一说明 证书购买原因:因为项目需求,要用到SSL证书,所以需要买SSL证书,我们是从北京埃欧信科技有限公司代买的证书。 购买方式:我们是按域名购买的证书,也就是说,证书是绑定域名的。当然也可以按照企业去购买。 需要文件:主要是我们需要先在本地用JAV A的keytool命令生成keystores文件,即后缀为kdb的文件,和csr文件。也就是密钥文件和证书文件,这个密钥文件很重要,它里面有申请证书的信息,譬如需要授权的域名,组织机构信息等。Csr文件更为重要,本人就是在这里吃了大亏,绕了很多弯路,后来发现kdb文件和csr文件不匹配,最后从新提交申请,从新授权了一下才可以的。所以再做keytool命令时候,应该格外仔细和认真。 操作说明:本人申请的是window服务器weblogic容器的SSL证书linux的就不清楚了,因为项目中是windows服务器。我要购买的域名为https://www.doczj.com/doc/af7646066.html,(仅供参考)。 第一步骤: 首先在一台安装有sun JDK的机器上进行如下操作: 1.点【开始】在【运行】中输入cmd进入DOS窗口,进入到jdk的bin目录下 如图 2.然后输入如下命令 (1)keytool-genkey-alias tomcat-keyalg rsa-keystore d:\mydomain.kdb-keysize2048如图: 提示输入密码,(这个密码很重要,要记好这个密码,之后还要用)。 本人输入的密码是:changeit 然后会出现如图所示界面 如图:

说明:首先本人是按照域名购买SSL证书的对吧,那么这里最关键的就是您的名字与姓氏是什么?因为美国的证书机构会根据这个的名字确定域名,您明白吗?就是说这里填的应该是要被授权的域名。 其次,组织单位名称,组织名称,这个就随便啦,简单填写一下,这个不会出现在授权的证书显示的页面上,所以简单些一下就OK,但是建议是英文或者汉语拼音。 之后,城市或区域名称?州或省份名称?这个也不是很重要,但是建议填写城市的英文名称或者中文名字的汉语拼音。 最后,该单位的两字母国家代码?这个因为咱们都是中国人嘛所以填写CN注意CN 要大写哦! 最后问是否确认?输入y按回车即可! (2)在操作完上述操作后,会出现如图所示界面: 如图: 这里是问tomcat的主密码:这个密码也要记住,因为之后配置容器的时候要用到该密码。 我填写的是changeit建议和上面的密码相同。 在操作完上述步骤后,可以到D盘下看看是否生成了我们的密钥文件。 (3)继续,输入如下命令,生成咱们的csr文件吧 keytool-certreq-alias tomcat-keystore d:\mydomain.kdb-file d:\mydomain.csr

SSL证书请求文件(CSR)生成方法Apache

文档出处:https://www.doczj.com/doc/af7646066.html,/ 提供者QQ:2209630389 重要注意事项 An Important Note Before You Start 在生成CSR文件时同时生成您的私钥,如果您丢了私钥或忘了私钥密码,则颁发证书给您后不能安装成功!您必须重新生成私钥和CSR文件,免费重新颁发新的证书。为了避免此情况的发生,请在生成CSR后一定要备份私钥文件和记住私钥密码,最好是在收到证书之前不要再动服务器。 By far the most common problem users have when going through this process is related to private keys. If you lose or cannot access a private key, you cannot use the certificate we issue to you and will need to request a free reissue. To ensure this never happens, we advise that a backup of the private key file is made and that a note is made of the password that is used to protect the export of the private key. “openssl”用于生成私钥和CSR,OpenSSL一般安装在/user/bin下,如果您的系统安装在其他目录,请指定正确的目录路径。 The utility "openssl" that you use to generate the private key and CSR comes with the OpenSSL toolkit and is usually installed under /usr/bin. If you have installed it elsewhere you will need to modify these instructions appropriately. 以下所有命令假设您已经成功安装OpenSSL,将产生2048位的密钥,加密算法 采用3DES,您必须使用您要申请SSL证书的域名来命名密钥文件。 The following sequence of commands will generate a 2048 bit key, encrypt it using the triple-DES cipher, and create a CSR based upon it (they assume that you have openssl in your path - if not then you should prefix the openssl command with the path to the binary). You should use the domain name that you are wishing to have certified as the core of the filenames. You should also make sure you do not overwrite existing keys and CSR's: 1. 生成私钥 Generate the private key 请使用以下命令来生成私钥 Please type the following command at the prompt: openssl genrsa -des3 -out https://www.doczj.com/doc/af7646066.html,.key 2048

openssl生成ssl证书

x509证书链 x509证书一般会用到三类文件,key,csr,crt。 Key 是私用密钥,openssl格式,通常是rsa算法。 csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。 crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。 1.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就是没有密码的版本了。 2. 生成CA的crt openssl req -new -x509 -key server.key -out ca.crt -days 3650 生成的ca.crt文件是用来签署下面的server.csr文件。 3.csr的生成方法: openssl req -new -key server.key -out server.csr 需要依次输入国家,地区,组织,email。最重要的是,有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。 4.crt生成方法 CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做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

Apache 配置支持HTTPS的SSL证书-生成CA证书

Apache 配置支持HTTPS的SSL证书 在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有ssl版本的Apache安装程序. 并且ssl需要的文件在如下的位置: [Apache安装目录]/modules/ mod_ssl.so [Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll, https://www.doczj.com/doc/af7646066.html,f [Apache安装目录]/conf/ https://www.doczj.com/doc/af7646066.html,f 创建SSL证书(注意,我下载的是PHPStudy里面自带了openssl,但是bin目录下没有https://www.doczj.com/doc/af7646066.html,f,需要将conf下的https://www.doczj.com/doc/af7646066.html,f拷贝一份到bin目录下,但总体原理一样) 一.生成一个带CA(Certificate Authority)授权的证书 打开CMD,进入到Apache安装目录下的bin目录下: 步骤一: 执行命令,生成私钥: openssl genrsa -out tian_server.key 2048 (RSA密钥对的默认长度是1024,取值是2的整数次方,并且密钥长度约长,安全性相对会高点)。 完成密钥server.key生产完毕后进行步骤二操作。 步骤二: 配置https://www.doczj.com/doc/af7646066.html,f 请确保以下数据这里所要求的值

default_md = md5 #默认是default,会触发[default digest message is not supported ] req_extensions = v3_req #默认签名被注释了 [ v3_req ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names #此项不存在,需要添加 [ alt_names ] #此项不存在,需要添加,注意DNS.x DNS.1 = https://www.doczj.com/doc/af7646066.html, #自定义 DNS.2 = https://www.doczj.com/doc/af7646066.html, #自定义 DNS.3 = https://www.doczj.com/doc/af7646066.html, #自定义 DNS.4 = https://www.doczj.com/doc/af7646066.html, #自定义 DNS.5 = https://www.doczj.com/doc/af7646066.html, #自定义 DNS.6 = https://www.doczj.com/doc/af7646066.html, #自定义 然后创建目录和文件 demoCA/ newcerts/ private/ index.txt index.txt.attr serial #此文件初始值输入00即可 生成Certificate Signing Request文件,用于向CA机构申请证书: openssl req -new -key tian_server.key -out tian_server.csr -config https://www.doczj.com/doc/af7646066.html,f (如果不加-config https://www.doczj.com/doc/af7646066.html,f参数的话,常会报Unable to load config info from .../ssl/https://www.doczj.com/doc/af7646066.html,f) 之后就会要求输入一系列的参数: Country Name (2 letter code) [AU]:CN ISO 国家代码(只支持两位字符) State or Province Name (full name) [Some-State]:ZJ 所在省份 Locality Name (eg, city) []:HZ 所在城市

SSL证书安装

在默认情况下,IIS使用HTTP协议以明文形式传输数据,没有采取任何加密措施,用户的重要数据很容易被窃取,如何才能保护局域网中的这些重要数据呢?我们可以使用SSL增强IIS服务器的通信安全。 SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。 一、安装证书条件 要想使用SSL安全机制功能,首先必须为Windows Server 2003或者 windows 2000 server系统安装证书服务。 1、首先请确认您的服务器已经安装配置了Active Directory服务,这样您就可以给域中的用户颁发数字证书。当然AD服务不是安装CA服务的必要条件,如果仅仅做测试使用,您可以不安装AD服务; 2、确保在您的Windows2000server/.NET中开启IIS服务,并且支持ASP,这样您的CA服务可以通过WEB在INTERNET/INTRANET发布;当然一般实际情况是WEB 服务器和CA服务器分别是独立的服务器。 二、安装证书服务 要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务。 进入“控制面板”,运行“添加或删除程序”,接着进入“Windows组件向导”对话框,勾选“证书服务”选项 点击“下一步”按钮,接着选择CA类型。这里选择“独立根CA”

点击“下一步”按钮,为自己的CA服务器取个名字,设置证书的有效期限, 最后指定证书数据库和证书数据库日志的位置,就可完成证书服务的安装。

三、配置SSL网站 1.创建请求证书文件 完成了证书服务的安装后,就可以为要使用SSL安全机制的网站创建请求证书文件。点击“控制面板→管理工具”,运行“Internet 信息服务-IIS 管理器”,在管理器窗口中展开“网站”目录,右键点击要使用SSL的网站,选择“属性”选项,在网站属性对话框中切换到“目录安全性”标签页(图1),然后点击“服务器证书”按钮。 在“IIS证书向导”对话框中选择“新建证书”

相关主题
文本预览
相关文档 最新文档