关于 SSL加密协议 及 CA 证书
SSL,对于很多人来说,只是听说过而已,实际应用遇到相对比较少。很不幸,在我试图配置 IIS6 + SSL,遇到了一些麻烦,在试过许多网上的方法后,问题却依然存在。在一番费时费力的网络资料搜索后,有点稀里糊涂地解决了,我想我有可能弄明白了,SSL是怎么回事。
我遇到的问题有两个
1. 使用的是自签发证书,浏览器报警。该怎么添加证书信任。
2. 外部网络无法访问 SSL 网页。
概念:
这里首先要弄清楚几个名词:
1. 数字证书
3. CA 证书
4. CA 证书的信任链
1. 数字证书 其实就是加密用的公钥或私钥吧,再包含一些身份等附加信息。任何人都可以使用相关工具生成自己的数字证书,用来加密文件,邮件,或用于通讯加密。
2.SSL 协议,用于网络通讯的加密协议,我是用他来加密网站。他需要一份数字证书,使用里面的公钥及私钥来发送加密的内容,或将收到的加密内容还原。
3. CA 证书,这需要先了解什么是 CA(Certification Authority),它的中文意思是证书授权,是一个单位,来管理发放数字证书的。由它发放的证书就叫 CA 证书,以区别于个人使用工具随意生成的数字证书,查看 CA 证书,里面有两项重要内容,一个是颂发给谁,另一个是由谁颂发的。
4. CA 证书的信任链,如果你安装并信任了一个 CA 机构的证书,以他为根,同样也信任了由这个 CA 机构颂发的其它组织的证书,其它组织则可以创建自己的CA中心,颂发下一级的证书,依次往下,一层层会有许多 CA 中心和数字证书。这个最上层的 CA 证书,即可以称为 根证书。
怎么查看我的电脑里有哪些证书
windows 系统按 Win + R 键打开运行命令窗口,直接输入 certmgr.msc,就可以看到了,这些是微软公司给你预备的 CA 证书,所以你访问那些使用这些 CA 机构颂发证书加密的网站时,浏览器会显示一个锁图标,不会报错,而你访问那些不在此列的 CA 机构颂发的证书的网站,会很刺目的提醒你,网站有风险,有可能遇到骗子网站了。
如何为网站添加证书
要为网站添加证书,你需要一份数字证书,并且这份数字证书的颂发给谁这一项,必须是你的域名,如果你用 IP 直接访问,则应该为你的服务器 IP 地址。否则,浏览器会告诉用户,这份证书是给别人用的,而不是当前网站。
如何添加,具体的操作,网上太多了,我就不具体说了,遗憾的是没有说明内在原理,操作成功还好,否则就像我一样,抓狂了,究竟是怎么回事啊。
这里推荐一个:http://hi.baidu.com/xfx999/item/b741f1de22a8ae15e0f46fd0 说得还是很详细的。
注意:第九步,一定要填写你自己的网站域名,不然在后面你就哭吧,怎么安装 CA 证书 到客户机的信任列表都没用。
这份向导中,先安装了 Windows 组件:证书服务,让你的服务器成了一个 CA 机构,然后自己给自己发证书。(你如果有现成证书,则可以直接导入到 IIS 的,无须安装这项)。
不知道你会不会注意到,在你安装证书服务时,它会自己在你的电脑中生成一个证书,并导入到系统的,这个证书是自己颂发给自己的,有效期就是你安装 Windows 组件时指定的年数。
而你用 IIS 生成请求,通过后,则又生成了另一个证书,这个证书是由上一个证书颂发的,有效期默认是一年,这个我不知道在哪里可以改,所以意味着,每年你要到 IIS 里,再去向证书服务申请 renew 一下。
如何在客户端安装证书
如果没有安装证书,打开浏览器会提示错误,要选择忽略并继续才能浏览 SSL 页面。
安装方法,网上也是一搜一大把,就不说了,自己找吧。
这里我遇到的问题是,如果我安装的是 IIS 申请到的证书,错误提示还是存在的,反复安装还是一样,刚开始以为没安装成功,实际上已经能在 certmgr.msc 中找到了。最后的解决方法是直接安装 CA 服务自己产生的证书,问题解决了。可能是因为前者是由根证书发的,安装到 ”受信任的根证书颁发机构“ 中无效吧,事实如何,我也不知道了。
文中开头所说的第二个问题,在一番折腾后,竟然不见了,又是稀里糊涂了,没办法。你可以看一下微软官方的这个页面 http://support.microsoft.com/kb/915039/zh-cn 不知道对你有没有帮助。
OK,看了这些,不知道你的问题解决了没?
参考资料:
http://hi.baidu.com/xfx999/item/b741f1de22a8ae15e0f46fd0 (【转】在windows2003的IIS6上建立https SSL加密的方法)
http://support.microsoft.com/kb/915039/zh-cn (您尝试导入证书之后,连接到 IIS 6 的 Web 站点时出现错误消息:"无法显示该页"找不到服务器或发生 DNS 错误")
http://program-think.blogspot.com/2010/02/introduce-digital-certificate-and-ca.html (数字证书及CA的扫盲介绍) 这个页面对于国内网友来说,正常情况下是打不开的,原因你知道的,但这对于理解 CA 证书非常有帮助。
关于 SSL加密协议 及 CA 证书相关推荐
- PostgreSQL SSL启用与CA证书生成、配置
2019独角兽企业重金招聘Python工程师标准>>> ref: https://yq.aliyun.com/articles/14965 PG服务器配置SSL证书验证 在CA服务器 ...
- 华为防火墙配置SSL+自签CA证书挑战登录
HW USG部署SSL+CA证书登录 前言 了解证书 自签证书 服务器配置 客户端配置 客户端登录 前言 关于证书,涉及作者的知识盲区,本人仅根据自己的理解编写,仅供参考! 了解证书 公钥CA:理解为 ...
- 数字证书连接服务器异常,连接时Socket.io + SSL +自签名CA证书出现错误
我正在运行使用使用自签名CA证书创建的证书的https服务器. 现在,我想将Socket.io客户端连接到连接到https服务器的Socket.io服务器.不幸的是,我得到一个错误,告诉我: Erro ...
- Android中使用Webview SSL 自签名CA证书安全校验方案
前言: 因为我们的项目是Android + H5,之前的做法是把H5所需要的资源和html下载到本地这样证书校验不会走系统浏览器层只需要项目中预埋根证书就可以了,但是如果用webview加载线上的域名 ...
- 关于 SSL 及 CA 证书,你可能需要知道这些
SSL,对于很多人来说,只是听说过而已,实际应用遇到相对比较少.很不幸,在我试图配置 IIS6 + SSL,遇到了一些麻烦,在试过许多网上的方法后,问题却依然存在.在一番费时费力的网络资料搜索后,有点 ...
- 数字证书、CA、CA证书、SSL证书、CA锁 简单介绍
1.数字证书是什么? 数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名).其作用类似于现实生活中司机的驾驶执照或日常生活中的身份证. 2.CA是什 ...
- Harbor .v1.10.2 私有镜像仓库的自签CA证书、安装使用【超详细官方文档翻译说明】...
需求 在以前搭建docker镜像私有仓库的时候,我都是使用registery搭建.本篇章来尝试另一个新的镜像仓库Harbor. Harbor介绍 Harbor是由VMware公司开源的企业级的Dock ...
- 云原生k8s之CA证书创建和使用
目录 引言 一.部署步骤+实验环境 二.所有节点系统初始化 三.Etcd集群部署 1.准备cfssl证书生成工具 2.生成Etcd证书 3.从github仓库下载etcd二进制文件 4.部署Etcd集 ...
- [云原生k8s] k8s的CA证书创建和使用
目录 引言 一.部署步骤+实验环境 二.所有节点系统初始化 三.Etcd集群部署 3.1.准备cfssl证书生成工具 3.2.生成Etcd证书 自签证书颁发机构(CA) 自签CA 生成证书: 使用自谦 ...
最新文章
- 如何控制C#Socket的连接超时时间
- 【设计模式】—— 职责链模式ChainOfResponsibility
- 机器学习笔记(二)模型评估与选择
- 重新想象 Windows 8 Store Apps (27) - 选取器: 联系人选取窗口, 自定义联系人选取窗口...
- python + selenium - selenium常用元素定位
- 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题
- Android中列表框纵向布局,andriod布局常用控件属性..docx
- 程序员面试金典——4.7最近公共祖先
- web多媒体标签,表格标签,超链接标签,语义化标签练习
- Windows PE安装 DiskGenius 备份/恢复系统
- codevs 3083 二叉树
- [JOY]1143 飘飘乎居士的约会
- 程序语言设计(第二天学习)
- MATLAB 的 colormap 函数详解
- APP全栈工程师修炼之路(一)
- 女性内分泌失调的8种症状
- lua -- class
- VMware ESXi 扩容后提示“无法打开虚拟机的电源,请确认该虚拟磁盘是适用“厚”选项创建的”等信息,执行VMDK 格式是 zeroedthick 还是 eagerzeroedthick
- 使用pscp命令将Windows和linux中文件互相拷贝
- Netbeans 高分屏 设置
热门文章
- c语言 伪随机数程序,C语言的伪随机数
- oracle双机热备部署,Oracle双机热备配置步骤
- 火狐浏览器非常实用的小插件
- Arduino 从串口接收到的数据中提取整型数据(parseInt)
- shell 中TR的用法,大小写转化
- VMware里Windows7安装VMware Tools失败?跑去安装补丁也碰壁?看这一篇就够了
- MySQL性能优化之参数配置 - 愤怒的码农 - 博客园
- 2021-07-29 使用python将pdf转图片、在图片上进行标注
- 【iOS】Cocoa(iOS,OSX)安保系统设计实现
- 盒子模型划分网页模块--音乐盒