我是一名.net 开发人员,目前正在致力于将 asp.net 项目从 http 转移到 https。
我已经完成了一些教程并且我想知道我是否遗漏了什么。
迄今为止:
我已经在服务器上安装并配置了 CA。CA 服务运行良好,但我不太确定是否需要从外部访问?我有一个 localhost/certsrv 正在运行以提交证书请求。稍后我登录服务器并确认/拒绝请求。
在同一台服务器上,我配置了 IIS。确认了 CA 服务生成的证书。启用匿名身份验证并将密码设置为以明文形式发送。
我不太清楚证书的工作原理。我理解得对吗?
- 我登录网站:https\someaddress.domain\site
- 有一个与该网站关联的证书,因此会出现一个窗口,指出这是一个未知证书。
- 我确认我想要查看该网站,然后浏览器将带我进入该网站。
当我在浏览器和 Web 服务器之间传输数据时,这如何提高安全性?
答案1
你说得对。自签名证书的问题在于它不是默认包含在受信任根中的签名机构(因此会显示它不是已知提供商)。对于某些人来说,这不是问题(OWA 就是一个例子)。但是,对于要在网络上进行交易的企业,您需要一个来自已知机构(Verisign、GeoTrust 等)的证书,这样 HTTPS 连接就会自动发生,并且不会提示用户进行连接。
至于提高安全性,当然可以。它会加密从用户浏览器到服务器的流量。
不必从外面看见 CA。
对于自签名证书,还有一些事情需要记住。由于浏览器每次访问网站时都会请求权限,除非您将其安装在根目录中,否则很容易让用户产生虚假的安全感。我的意思是,由于他们每次访问您的网站时都会收到该消息,因此进行一些 arp 中毒和发布虚假证书相当容易,此时您的“加密”连接就被拥有了。