作为一个菜鸟,对于SSL证书,我了解不多,只知道用了它网站更安全,所以这次使用SSL证书途中遇到了各方面的各种问题,到今天为止终于全部解决。
一、证书格式
前两天在那什么云上面买了个SSL证书,是WoSign的,证书签发后下载下来有两个文件,.pem和.key,查询得知IIS需要.pfx格式的证书文件,于是搜索转换方法。
搜索结果基本上都是说用OpenSSL来转换,但是发现网上的资料很零碎,没有初学者或者完全不了解的人也能看懂的资料,于是连蒙带猜才搞定转换问题。
1.1安装OpenSSL
参考博客:http://blog.****.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 -in 证书.crt,回车后会要求输入密码,再确认密码后就生成成功,生成后的文件就在out32dll文件夹
二、部署网站
在IIS导入证书后台,给网站绑定了https访问
经测试发现360浏览器可以访问,谷歌浏览器不能访问,谷歌浏览器报错,该网站不能提供安全连接。
寻找沃通的技术支持后得知有两个问题:
一是证书链不完整,这个经他们技术人员操作解决了
二是SSL 漏洞,他们有教程,按照教程很好解决
这两个问题完成后谷歌浏览器能正常访问了。
对于正常的SSL证书的安装使用到此就结束了,但是对于我的项目来说还没有结束。
因为项目结构Web端是纯html,api是用的WebApi,所以分别部署了两个网站,而购买SSL证书时脑抽买的是只能支持一个域名的,这样api的域名就得不到保护,于是只能考虑把两个项目合在一起。
首先尝试的是直接把web端的页面等复制进api项目,设置好首页等后发现谷歌等浏览器访问没问题,IE浏览器访问会直接变成下载html文件,努力了许久没搞好,只好按照MVC规则新建所有页面再复制入相应内容,这样改动实在很大。
这时候调试好了发布上去终于IE也正常了。
都是一些乱七八糟的问题,但是话费了很大精力。