你的位置:首页 > ASP.net教程

[ASP.net教程]购买SSL证书到部署网站遇到的若干问题


作为一个菜鸟,对于SSL证书,我了解不多,只知道用了它网站更安全,所以这次使用SSL证书途中遇到各方面的各种问题,到今天为止终于全部解决。

一、证书格式

前两天在那什么云上面买了个SSL证书,是WoSign的,证书签发后下载下来有两个文件,.pem和.key,查询得知IIS需要.pfx格式的证书文件,于是搜索转换方法。

搜索结果基本上都是说用OpenSSL来转换,但是发现网上的资料很零碎,没有初学者或者完全不了解的人也能看懂的资料,于是连蒙带猜才搞定转换问题。

1.1安装OpenSSL

参考博客:http://blog.csdn.net/zh516846937/article/details/40188065

按照上面博客的指导安装就行了

1.2转换证书

1.2.1在安装的时候有一步是编译,生成静态库和动态库,我生成的是动态的,所以进入out32dll文件夹里面找到openssl.exe打开(静态库进入out32)

1.2.2把.pem文件后缀改成.crt,并把.crt文件和.key文件复制进入out32dll

1.2.3在openssl.exe打开后的窗口输入命令pkcs12 -export -out 输出证书名.pfx -inkey 证书KEY.key -in 证书.crt,回车后会要求输入密码,再确认密码后就生成成功

二、部署网站

在IIS导入证书后台,给网站绑定了https访问

经测试发现360浏览器可以访问,谷歌浏览器不能访问,谷歌浏览器报错,该网站不能提供安全连接。

寻找沃通的技术支持后得知有两个问题:

一是证书链不完整,这个经他们技术人员操作解决了

二是SSL 漏洞,他们有教程,安装教程很好解决

这两个问题完成后谷歌浏览器能正常访问了。

对于正常的SSL证书的安装使用到此就结束了,但是对于我的项目来说还没有结束。

因为项目结构Web端是纯html,api是用的WebApi,所以分别部署了两个网站,而购买SSL证书时脑抽买的是只能支持一个域名的,这样api的域名就得不到保护,于是只能考虑把两个项目合在一起。

首先尝试的是直接把web端的页眉等复制进api项目,设置好首页等后发现谷歌等浏览器访问没问题,IE浏览器访问会直接变成下载html文件,努力了许久没搞好,只好按照MVC规则新建所有页面再复制入相应内容,这样改动实在很大。

这时候调试好了发布上去终于IE也正常了。

但是在整理代码的时候突然发现调试时WebApiConfig里面会报错:URL不能以"/"或“~”为首尾……,以为是哪儿设置错了,找了好一会儿发现网上资料几乎没有对症的,突然想到新建一个webapi项目,把主要文件复制进入测试发现没有问题,于是猜测可能不经意间损坏了项目文件(但是完全没有这方面的记忆)

 

都是一些乱七八糟的问题,但是话费了很大精力。