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

什么是自签名SSL证书?

自签名证书是由不受信的CA机构颁发的数字证书,也就是自己签发的证书。与受信任的CA签发的传统数字证书不同,自签名证书是由一些公司或软件开发商创建、颁发和签名的。虽然自签名证书使用的是与X.509证书相同的加密密钥对架构,但是却缺少受信任第三方(如Sectigo)的验证。在颁发过程中缺乏独立验证会产生额外的风险,这就是为什么对于面向公众的网站和应用程序来说,自签名证书是不安全的。

自签名证书有什么优势?

虽然使用自签名证书有风险,但也有其用途。

  • 免费。自签名证书是免费提供的,任何开发人员都可以申请。
  • 随时签发。自签名证书可以随时随地签发,不用等待第三方证书颁发机构的验证和签发。
  • 加密。自签名SSL证书使用与其他付费SSL/TLS证书相同的方法加密传输数据。
  • 方便。自签名证书不会在一段时间后过期或需要续订,但CA颁发的证书却会在一段时间后过期,还需要续订。

虽然自签名证书看起来很方便,但这也是这些证书的主要问题之一,因为它们无法满足针对发现的漏洞进行安全更新,也不能满足当今现代企业安全所需的证书敏捷性。因此,很少人使用自签名SSL证书。此外,自签名证书无法撤销证书,如果证书被遗忘或保留在恶意行为者开放的系统上,则会暴露所使用的加密方法。不幸的是,即便如此,一些 IT 部门认为,证书颁发机构颁发的证书的成本超过了降低额外验证和漏洞支持的风险。

自签名证书有什么缺陷?

1、不受浏览器信任,易丢失用户。
每当用户访问使用自签名证书的站点时,他们会收到“不安全”警告,显示诸如“error_self_signed_cert”或“err_cert_authority_invalid”之类的错误,要求用户确认他们愿意承担风险继续浏览。这些警告会给网站访问者带来恐惧和不安,用户会认为该网站已被入侵,无法保护他们的数据,最后选择放弃浏览该站点转而访问不会提示安全警告的竞争对手网站。另外,不受浏览器信任的自签名证书,地址栏不会显示安全锁和HTTPS协议头。下图为SSL证书在浏览器地址栏中的状态显示,左边为自签名SSL证书,右边为受信CA颁发的SSL证书:

2、不安全。
由于自签名证书支持超长有效期,因此也无法在发现新的漏洞后进行安全更新,容易受到中间人攻击破解。自签名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文件即可。

创建自签名证书的方法很简单,不需要第三方验证。所以,它是可以在内部测试环境中使用,但不建议企业在用户环境中使用。企业或组织应该选择受信CA颁发的SSL证书,锐成信息提供Digicert、Sectigo、Globalsign等全球最受信的CA机构颁发的SSL证书,这些证书能帮助您规避用户流失、数据泄露和中间人攻击等安全风险。千万不要为了省小钱而花大钱,要有长远的眼光,才能获得长久的利益!

什么是自签名证书?自签名SSL证书的优缺点?相关推荐

  1. EV SSl证书和其他SSL证书有什么不一样

    SSL证书是数字证书的一种,其主要作用是对网站信息传输进行加密,一般SSL证书按照加密强度和域名数量可以分为DV SSL证书.OV SSL证书.EV SSL证书.单域名证书.多域名证书和通配符证书,然 ...

  2. 【SSL】ssl证书简介、ssl证书生成工具与ssl证书生成步骤

    ssl证书简介.ssl证书生成工具与ssl证书生成步骤 一.ssl证书是什么? 二.ssl证书生成工具有哪些? 2.1.工具一:CFSSL 2.2.工具二:OpenSSL 2.3.工具三:XCA 三. ...

  3. 如何查看自己是否使用了国产SSL证书?“套牌”SSL证书?

    最近有用户提到国产SSL证书,有没有符合历史及现在浏览器信任的99%的国产SSL证书,目前看到一些网站正在使用国产SSL证书,而且价格很便宜,大概两千多,而且还符合99%是真的吗?他们属于国产SSL证 ...

  4. EV SSL证书与普通的SSL证书最大区别是什么?

    EV SSL证书与普通的SSL证书的最主要的区别在于发证的认证标准不同. 在申请普通的SSL证书的时候,各个CA都有自己各自不同的认证方式,有的比较严格,有的不太严格.而对于EV SSL证书的申请,C ...

  5. 什么是国密SSL协议?国密证书与传统SSL证书有什么区别?

    你知道什么是国密SSL协议吗?很多人听说过SSL证书.SSL协议,但是国密SSL协议却是第一次听说.一起来看看什么是国密SSL协议,以及国密证书与传统SSL证书有什么区别? 什么是国密SSL协议?国密 ...

  6. Digicert SSL证书与Symantec SSL证书的对照

    以下内容由digicert官方授权合作伙伴ssl盾原创发布 Digicert SSL证书与Symantec SSL证书的对照 一.相同点: 根证书都是digicert 都支持诺顿自动杀毒 都只能单位才 ...

  7. AlphaSSL证书和GlobalSign SSL证书介绍

    以下内容由便宜SSL证书服务商SSL盾整理发布  GlobalSign 成立于 1996 年,是一家声誉卓著,备受信赖的 CA 中心和 SSL 数字证书提供商, GlobalSign是权威的数字证书颁 ...

  8. android导入ssl证书,Android和SSL证书加载

    我正在为Android 2.2 SDK的应用程序,并从通过Java Socket技术应用到另一个(不同的移动设备即是)的一个实例,通过wifi我目前正在发送数据,并能正常工作.我想添加一些加密,所以数 ...

  9. cloudflare免费证书_Cloudflare 免费SSL证书使用

    前言 这段时间用Hexo框架搭建了个博客,并部署到了Github,然后重定向到自己的域名,至此网站使用的是http.那么问题来了,如何启动网站的https? 工具 Cloudflare Cloudfl ...

  10. 什么是客户端证书?(ssl证书)

    在这个万物互联的时代中,各种应用.系统等都需要身份认证才可访问,而目前使用较多的是基于账户密码登录的传统身份认证方法.然而大多数企业和用户在密码安全管理上又存在诸多问题和缺陷,如何减轻与密码相关的安全 ...

最新文章

  1. Ubuntu下Postgres安装与配置
  2. 电子计算机之父冯.诺依曼的主要贡献,约翰·冯·诺依曼,约翰·冯·诺依曼的生平,贡献等...
  3. 制作oracle11g yum源,利用安装盘简单制作yum源
  4. 死锁(python 版)
  5. [转贴]JAVA:RESTLET开发实例(三)基于spring的REST服务
  6. 判断一段程序是由C 编译程序还是由C++编译程序编译的
  7. UBUNTU18禁用锁屏功能
  8. Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件
  9. 从“规模叙事”迈向“利润叙事”,中国制造背后的“天狼”动力
  10. ArcGIS三维建模(三)
  11. CSP2019普及组题解:公交换乘(C++)
  12. Mac没声音解决办法记录
  13. 主页被修改成httpwww.yy4000.cn等类似首页,无法更改,怎么办?
  14. git两个分支代码合并
  15. hive难点以及例子SXT
  16. python使用opencv_玩转Python图片处理 (OpenCV-Python )
  17. Prometheus监控告警规则
  18. 清除bios密码的N种方法
  19. bios密码解锁软件_YOGA14S解锁BIOS后进阶玩法—包含性能提升10%—20%
  20. 两分钟让你明白什么是ERP

热门文章

  1. Vuex持久化,刷新,vuex-along最详细教程
  2. 数值分析 计算机科学,数值分析与算法.pdf
  3. nvme SSD和sata SSD的对比
  4. 如何将密切好友的微信聊天记录恢复到自己的微信中
  5. try with resource 的使用
  6. Android,java敏感词,QQ,微信自动过滤组件
  7. psd导出jpg太大_PSD源文件、导出JPG\PNG格式文件过大解决办法
  8. 如何判断工作簿中是否存在某个工作表
  9. IDEA中,更换背景颜色
  10. iPhoneSE3变化却提高了价格,安卓手机获得了喘息的空间