最近一个项目中有服务端与服务端数据交互的功能,为了保证传递数据的安全性,在数据交互的时候在发送端采用了对传输数据用证书签名,在接收端对数据进行验签;接收端连接地址使用SSL进行连接的方案。
在项目中用SSL连接出现了很多问题,做了很多尝试,总算把问题一一解决。这里说说我在项目中SSL进行连接遇到的问题及解决方法。
在完成主要代码后,不用SSL连接,功能都能正常,换成SSL连接后就出现一些问题。
其中最棘手的问题是:“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。”和“根据验证过程,远程证书无效。 ”。在网上查看了很多解决方法,有很多都自己写一段代码,对服务端证书验证总是信任,其实如果用这种方法那就没必要用SSL连接。不过在网上也获得一些收获,有部分人提示是证书的问题,证书验证失败。
为了验证这个具体是什么原因,我在本机上搭了一个环境来测试是否因为证书的原因。(注:如果想获得正确结果推荐开发时使用IIS来调试代码,这个SSL连接的问题我在开发时在VS环境下是都OK的,但是放到客户的环境下就出错。),由于我是用.net的,所以现在先在IIS上给自己签发一张服务器证书。具体步骤如下:
1、在IIS中的网站下,右键鼠标,在弹出的网站属性中选择目录安全选项卡,选择安全通信中的服务器证书。
2、在弹出框中选择新建证书,如果你已经有一个服务器证书可以选择指派现有证书。
3、接下来一般都可以一路默认。
4、接下来要填写单位和部门,这个信息是待会制作证书必须的,所以需要记录好。
5、接下来是SSL证书最重要的一环了,标准称呼站点公用名称,实际就是的网站地址。这个就是接收端验证服务端SSL证书的关键,也是制作证书必须的,也要记录好。
6、接下来填写证书颁发机构要求的地理信息,这个也是证书制作必须的,要记录好。
7、填好上面的部分后就会生成一个证书签名请求CSR,里面是你之前填写的信息的Base64编码 ,默认存放到C盘下,你也可以指定位置,这个也是制作证书所必须的,要存放好。这里我命名为certreq1.txt。接下来就完成了。
8、接下来就该制证了,制作只能在有签发电子证书资质的机构去制证;我这里在公司的测试RA中为自己签发一张SSL证书,具体步骤这里就不详述了。这里有个地方是要注意的,证书主题是有正序主题和逆序主题,我这个是逆序主题,根据我之前在IIS里面填的内容,我的证书的主题为:C=CN,ST=gd,L=sz,O=myca,OU=test,CN=192.168.100.113,这个是满足X509命名规则的证书主题。填完完整的信息后就该制证了,填入P10请求,就是之前生成的证书签名请求CSR,把里面内容复制到P10。
9、制证完成后就可以下载证书,证书会保存为.p7b文件,里面包含一个或多个证书,一般包含本证书和它的根证书。下载保存到本地。
双击打开这个文件你就可以看到:
里面有这次签发的SSL证书和根证书。在服务器证书上右键,选择“所有任务”->“导出”,将这张证书导出。选择DER编码二进制,导出为一个.cer文件。下一步会使用,这里我命名为113_test.cer。
10、接下来在IIS里面完成之前未完成的操作。还是选择IIS网站属性里面的目录安全性选项卡,选择服务器证书,这个时候会有如下图所示:
直接下一步
选择之前导出的证书,113_test.cer。下一步就OK了。到这个地方,SSL证书就已经成功安装到了IIS中,不过需要设置才能启用。
11、下面来启用SSL证书,指定IIS中的内容使用https来访问,接下来我们选择"目录安全选项卡"中"安全通信"中的“编辑”按钮,出现如下图的界面。如果需要网站或者虚拟目录使用https来访问,要勾选“要求安全通道(SSL)”,“客户证书”中,“忽略客户证书”则表示这个网站或者虚拟目录是单向验证,服务端不会验证客户端的证书。如果勾选“要求客户证书”则为双向,要握手成功的话,客户端要成功验证服务端证书,服务端也要验证客服端的证书。一般我们都会选择单向SSL。
至此,IIS下的SSL证书就算是完成了,接下来就是验证:“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。”和“根据验证过程,远程证书无效。 ”。这类错误提示是不是因为证书的原因造成的,我把我的SSL设置为单向验证,用192.168.100.113这个地址来访问接收端结果正常,但是换成lcalhost来访问就会提示“根据验证过程,远程证书无效。”。之后再给自己签发了一个localhost的SSL证书,用localhost来访问接收端,错误消失。
现在结果已经很明确,出现:“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。”和“根据验证过程,远程证书无效。 ”。这类错误只要不是粗心造成代码错误,可以确定是因为证书的问题。所以如果网站的SSL的主题是网站的URL,但是你在代码里面访问的时候使用的是IP地址,极有可能出现错误。但是在浏览器里面用IP地址加https访问网站则不受影响。
在JAVA环境下签发及配置SSL证书也很相似,需要编写一段脚本来完成签发,这篇文章就不再赘述。下一篇文章我将记录我的服务端与服务端使用双向SSL验证及对传输数据使用证书签名的内容。
- 大小: 22.6 KB
- 大小: 29.4 KB
- 大小: 40.5 KB
- 大小: 33.2 KB
- 大小: 34.8 KB
- 大小: 33.9 KB
- 大小: 24.4 KB
- 大小: 27.9 KB
- 大小: 35.5 KB
- 大小: 35.7 KB
- 大小: 15.4 KB
- 大小: 32.1 KB
- 大小: 28.6 KB
- 大小: 28.6 KB
- 大小: 72.1 KB
- 大小: 37.6 KB
分享到:
相关推荐
iis6环境下配置双向ssl环境 不验证证书吊销
但在系统默认配置下,IIS使用的是“HTTP协议”以明文形式传输数据,没有采用任何加密手段,传输的重要数据很容易被窃取。这对于一些安全性要求高的网站来说,是远远不够的。为了保证重要数据的万无一失,IIS也提供了...
阿里云ssl证书配置
一、配置IIS的SSL,对数据施行密文传输( https,数字证书) 1.生成证书请求文件 2.申请IIS网站证书 3.配置IIS服务器 二、设置IIS最大连接数
进入服务器证书配置页面,并选择“创建证书申请”,填写相关信息,点击“下一步”。 选择加密服务提供程序,并设置证书密钥长度,EV证书需选择位长2048,点击“下一步”。 保存证书请求文件到.txt文件(如申请证书...
证书服务配置客户端证书申请IIS站点SSL设置.docx
证书服务配置客户端证书申请IIS站点SSL设置.doc
IISCrypto修改ssl加密工具,可以在线检测网站的SSL证书是否安全,是否存在漏洞,是否达到ssL行业标准,符合苹果ATS规范,能否通过微信小程序安全要求。同时提供证书格式转换,CSR,证书链,SSL配置生成等。
使用OpenSSL为基于IIS的站点创建服务器端证书及客户端证书,实现双向认证。
iis证书双向认证配置文档说明 本文档主要描述如下问题: 1、 服务器证书的请求文件CSR的产生; 2、 服务器证书的安装; 3、 服务器SSL安全配置; 4、 服务器证书的导出(备份)和导入(恢复); 5、 SSL双向认证的...
了解证书的内容和CA,掌握SSL 的原理及在IIS 中的应用 证书颁发服务器,web服务器,客户端配置
安全套接字层 (SSL) 是一套提供身份验证、保密性和数据完整性...本章介绍如何获取 SSL 证书,以及如何配置 Microsoft® Internet 信息服务 (IIS),以便支持 Web 浏览器和其他客户端应用程序之间使用 SSL 安全地进行通信
原因是:在IIS上调用证书是需要配置的,具体配置如下: 一. 确保证书已安装 1. 点击 [开始] -> [运行] -> 键入[mmc] 进入“控制台”界面 -> 选择[文件] -> [添加/删除管理单元] 2. 选择[证书] -> [计算机账户] -> ...
设置完成后,使用这个工具,可以在线检测网站的SSL证书是否安全,是否存在漏洞,是否达到ssL行业标准,符合苹果ATS规范,能否通过微信小程序安全要求。同时提供证书格式转换,CSR,证书链,SSL配置生成等。
5.证书导入成功,如下图: 6.将SSL证书和网站绑定,先选择需要使用证书的网站,右击后点击“编辑绑定” 7.添加一个新的绑定: 8.将类型改为HTTPS,端口改为443,然后选择刚才导入的SSL证书,点击“确定”...
主要介绍了startssl申请SSL证书 并且配置 iis 启用https协议,需要的朋友可以参考下
IIS10.0部署netcor+vue前后端两个HTTPS域名方法IIS配置API接口转发 IIS10.0配置API重写转发 IIS10.0配置SSL域名证书 IIS10.0配置一台服务器前后端部署SSL IIS10.0配置vue刷新后显示400
本博文目的:在非服务器、而且没有证书颁发机构(Certificate Authority简称CA)的开发环境中,配置HTTPS,SSL用于测试或学习 一、建造测试网站 1.在桌面上建立个文件夹,然后再在文件夹里新建个html文件 2.打开IIS,...
购买云盾证书并且在Windows系统部署IIS服务后,谷歌浏览器无法访问IIS服务,但是其他浏览器可以正常访问。 解决方案 请参考以下两种方法。 使用IIS加密套件优化工具 下载ITrusIIS.rar压缩包,解压后运行软件,...