当前位置:  开发笔记 > 后端 > 正文

SSL客户端如何验证服务器的证书?

如何解决《SSL客户端如何验证服务器的证书?》经验,为你挑选了1个好方法。

我正在构建一个应用程序,我计划使用OpenSSL来保护数据传输.

我打算只让客户验证服务器的证书.我对如何保护服务器的证书感到困惑.我想加密包含私钥的服务器证书,但我不想使用任何硬编码密钥进行此加密.

使用SSL的应用程序遵循哪些常见做法?



1> Martin Carpe..:

为了确保我们的术语直接,通用术语中的"SSL证书"实际上由两部分组成:

公共证书

私钥

公共证书组件由您选择的CA(证书颁发机构)签名,之后可以自由分发.它不需要保护或加密,实际上它将作为SSL协商的一部分发送到连接到您的服务器的客户端.

应保护私钥组件.在大多数情况下,这只是作为加密文件存储在服务器上.高档解决方案使用专用的"防篡改"加密硬件(HSM - 硬件安全模块)来存储私钥.这些范围从基于智能卡的解决方案到具有m/n控制等的多键,网络设备等.与HSM相关的风险(更不用说成本)我不会在这里讨论.

许多应用程序只是将私钥保留在磁盘上.有几个选项可以保护密钥文件:

依靠系统和文件权限安全性(即不加密私钥).例如,大多数ssh守护进程都这样做.

使用服务器提供的任何机制来加密文件 - 受密码保护的加密是大多数Web服务器的标准功能.(如果您使用OpenSSL API自行编辑,请选择一种明显的本机密钥格式​​).

与往常一样,存在安全权衡.特别是,如果您在私钥文件上使用受密码保护的加密,并且遇到意外的应用程序重启(例如停电),则需要有人在重新启动时为应用程序提供密码.将密码存储在由系统初始化脚本读取的文件中(至少由两个Web服务器供应商鼓励)在真实安全性方面几乎没有增加.很难建议不加密私钥密钥文件,但如果你是小商店中唯一的管理员/技术人员,你一定要考虑如果服务器在你不可用时重新启动会发生什么,以及你的业务可能会有什么成本.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有