企业可以使用自签名证书吗 什么是自签名证书

自签名证书能够指许多不同的证书种类,包含 SSL/TLS 证书、S/MIME 证书、代码签名证书等,其中最常见的证书种类是自签名 SSL 证书 。与 CA 颁发的 SSL 证书不同,自签名证书通常指的是那些没经第三方验证,直接上传至私有公钥基础结构 (PKI) 的证书文档 。

企业可以使用自签名证书吗 什么是自签名证书

文章插图
什么是自签名 SSL 证书?自签名证书是由不受信的 CA 组织颁发的数字证书,也就是自己签发的证书 。与受信赖的 CA 签发的传统数据证书不同,自签名证书是由一些公司或软件开发商建立、颁发和签名的 。尽管自签名证书采用的是与 X.509 证书同样的加密密钥对架构,但却缺乏受信赖第三方的验证 。在颁发过程中欠缺单独验证会产生额外风险,这也是为什么针对面向大众的网站和应用程序而言,自签名证书是不安全的 。
自签名证书优势有哪些?尽管应用自签名证书有风险,但也有其用途 。
免费 。自签名证书是免费提供的,任何开发者都可以申请 。
随时审签 。自签名证书可以随时随地审签,无需等候第三方证书颁发机构验证和审签 。
加密 。自签名 SSL 证书使用与其他付费 SSL/TLS 证书同样的方式数据加密数据 。
便捷 。自签名证书不会在一段时间后到期或需要续签,但 CA 颁发的证书却会到一段时间后到期,还要续签 。
尽管自签名证书看上去很便捷,但这也是这些证书的主要问题之一,因为它不能满足对于找到的漏洞开展安全更新,也无法满足当今现代企业安全所需的证书灵敏性 。因此,很少人应用自签名 SSL 证书 。此外,自签名证书无法撤销证书,假如证书被遗忘或保留在恶意行为者开放的系统上,则会曝露所使用的加密方法 。遗憾的是,即使如此,一些 IT 单位觉得,证书颁发组织颁发的证书成本超过减少附加验证和漏洞支持的风险 。
自签名证书有哪些缺陷?不受浏览器信赖,易遗失客户 。
每当用户访问应用自签名证书的网站时,他们能收到“不安全”警示,表明例如“error_self_signed_cert”或“err_cert_authority_invalid”这类的错误,规定客户确定他们愿意承担责任继续浏览 。这些警示能给网站来访者带来恐惧和不安,用户会觉得该网站已被侵略,没法维护他们的数据,最终选择放弃访问该网站继而浏览不会提醒安全警告的竞争对手网站 。此外,不受浏览器信赖的自签名证书,地址栏不会表明安全扣和 HTTPS 协议头 。下图为 SSL 证书在浏览器地址栏里的情况表明,左侧为自签名 SSL 证书,右侧为受信 CA 颁发的 SSL 证书:
不安全 。
因为自签名证书支持较长有效期,所以也无法在发觉新的漏洞后进行安全更新,容易受中间人攻击破解 。自签名 SSL 证书没有可访问的注销目录,也容易被黑客伪造、仿冒网站运用,无法满足当前的安全设置,存在诸多的不安全隐患 。
公司可以用自签名证书吗?如前所述,应用自签名证书会带来很多风险,尤其是在公共网站中使用自签名证书的风险更大 。针对解决任何个人敏感信息网站,包含健康、税收或会计记录等信息,万万不可应用自签名证书 。类似这样的数据泄露会伤害客户对品牌的信任感,还会遭受隐私法规的处罚,损害公司的经济收益 。
许多人认为在公司内部的职工门户或通讯网站布署自签名证书没有风险,但事实并非如此 。由于在这些网站应用自签名证书仍会导致浏览器安全警示 。尽管可以忽略这些警示,但却无意间助长了职工忽视安全警告的习惯 。这类习惯养成可能会让公司今后面临更多的风险 。
尽管我们不建议企业使用自签名证书,但它也并不是没有用途 。一般来说,自签名证书可以用于内部测试环境或限制外界人员访问的 Web 服务器 。
如何创建自签名证书?尽管自签名证书存在一定安全隐患,但有它的优势,这儿给大家分享一下建立自签名证书的办法 。其实,建立自签名 SSL 证书很简单,完全取决于你的服务器环境,如 Apache 或 Linux 服务器 。方法如下:
1. 生成私钥
要建立 SSL 证书,必须私钥和证书签名请求(CSR) 。您可以使用一些生成工具或向 CA 申请生成私钥,私钥是采用 RSA 和 ECC 等算法生成的加密密钥 。生成 RSA 私钥的代码实例:openssl genrsa -aes256 -out servername.pass.key 4096,随后该指令会提示您输入密码 。
2. 生成 CSR
私钥生成后,你的私钥文档如今将作为 servername.key 储存在你的当前目录中,并把用以生成 CSR 。自签名证书的 CSR 的代码实例:openssl req -nodes -new -key servername.key -out servername.csr 。随后必须输入几个信息,包含组织、组织单位、我国、地域、城市和通用名称 。通用名称即域名或 IP 地址 。
输入此信息后,servername.csr 文档将位于当前目录中,其中包含 servername.key 私钥文档 。
3. 颁发证书
最终,应用 server.key(私钥文档)和 server.csr 文档生成新证书(.crt) 。以下是生成新证书的命令实例:openssl x509 -req -sha256 -days 365 -in servername.csr -signkey servername.key -out servername.crt 。最终,在你的当前目录中寻找 servername.crt 文档即可 。
【企业可以使用自签名证书吗 什么是自签名证书】