首页 > 其他分享 >使用自签名证书,新手必然会遇到的问题

使用自签名证书,新手必然会遇到的问题

时间:2023-04-15 11:55:54浏览次数:33  
标签:证书 IP 验证 client 签名 https 新手

前言

有关加解密、https握手连接、域名证书等基础知识,请自我学习了解。介绍大家都会用的工具:

https安全评估工具:https://myssl.com/

https最佳安全实践介绍: https://myssl.com/  首页底部

 1、如何获取数字证书(签名证书)

任何机构或者个人都可以申请数字证书,并使用由CA机构颁发的数字证书为自己的应用保驾护航。


1. 花钱买,从TSP服务商(阿里、腾讯) 购买受信任的签名证书,**根据实际需要,考虑买通配符证书**。

2. 免费的,自签名证书,就是使用openssl、keytool等生成工具,自己生成的证书 。
  + 缺点:**不被client端信任问题**,有些client可以设置Skip TLS Verify忽略证书检查,不能设置的(如浏览器)只能添加信任来解决。
  + 因此,一般用于个人\企业的内网系统,企业建议使用阿里的免费证书。

3. 免费的,**Let’s Encrypt可以申请免费的证书**,作为一个CA机构得到了很多大公司的支持,它定义了ACME协议,将管理证书的流程进行了标准化。
  + 缺点:证书每三个月会过期,但是可以无限续签;另外生产证书操作步骤真的很麻烦,因此不建议用。

4. 免费的,从服务商(腾讯、阿里)等申请免费的证书,有效期一年

5. 复用的,花钱买通配符证书,我们的内网应用系统就可以使用自定义的二级域名啦。建议是内网用不是外网,**别乱用,外网映射多了,就容易走火,以免对正常业务排查问题带来麻烦**


>备注:常用的两个证书管理工具:KeyTool,OpenSSL—>构建CSR(Certificate Signing Request,数字证书签发申请),交由CA机构签发,形成最终的数字证书,你可以使用CSR在线工具https://www.myssl.cn/tools/create-csr.html

2、使用自签名证书会遇到以下问题

 

TLS/SSL握手过程,我们知道client会验证来自server端的tls证书,使用自签名证书或内部网络路径混乱都会造成client验证证书失败或发生错误。

  • 有些client可以设置Skip TLS Verify忽略证书检查,比如prometheus忽略验证exporter的证书,grafana忽略验证prometheus的证书
  • 有些client不能设置忽略证书检查,比如浏览器不信任自签名证书,如果此服务器仅供您个人内网使用,解决方案是将此证书添加到 浏览器 的受信任证书中。
# cd /tmp
C指定国家、ST指定省份、L指定区、O公司(可以不要),CN域名或者IP(localhost\127.0.0.1...)
# openssl req -new -newkey rsa:2048 -nodes -x509 -days 3650 -keyout ca.key -out ca.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MoeloveTest/CN=localhost"在

 

1. 自签名CA证书存在不被(client客户端)浏览器信任问题,解决方法很简单自行“baidu”下,重点介绍下面的问题
2. 上述命令生产的自签名ca证书,client客户端验证来自服务端的证书时,报错:

Q1. failed: x509: cannot validate certificate for 172.22.0.xx because it doesn't contain any IP SANs

A1:客户端(grafana)用IP调用或访问服务端时,无法验证172.22.0.xx(prometheus)的证书, 因为它不包含任何IP SAN,怎么办?

   解决方法1:grafana设置忽略对sever端的证书验证

   解决方法2:若不忽略验证证书,则需要给prometheus server生产一个含有“服务端IP”的SANs的证书。

   解决方法3: 客户端etc\hosts中添加一条DNS解析记录:服务端IP 为IP起的别名,客户端直接用别名调用。

Q2. failed: x509: certificate relies on legacy Common Name field, use SANs instead
A2:查找资料后发现是因为 go 1.15 版本开始废弃 CommonName,推荐使用 SAN 证书。因此,需要将“DNS名称及对应的server主机IP”添加到SAN中来解决此问题 echo subjectAltName = DNS:xxx(别名),IP:server主机ip,IP:127.0.0.1 > extfile.cnf

备注:可联系我获取《生产自签名证书.shell脚本》

3、联系,交流、共同成长

标签:证书,IP,验证,client,签名,https,新手
From: https://www.cnblogs.com/sdts/p/17320793.html

相关文章

  • kubernets 集群证书过期解决方式
    查看证书过期时间kubeadmcertscheck-expiration解决方案手动更新证书#更新证书kubeadmcertsrenewall#重启相关服务dockerrestart$(dockerps|grep-E'kube-apiserver|kube-controller-manager|kube-scheduler|etcd'|awk'{print$1}')原文链接https://www.c......
  • 华为认证数通高级证书实验
    实验拓扑注:代码块为各交换机路由器中的配置命令配置拓扑文件实验要求实现全网通实验配置SW3[SW3]vb1020[SW3]inte0/0/1[SW3-Ethernet0/0/1]polink-ta[SW3-Ethernet0/0/1]podev10[SW3-Ethernet0/0/1]inte0/0/2[SW3-Ethernet0/0/2]polink-ta[SW3-Ethernet0/0/2]po......
  • 华为认证1+X证书
    什么是Datacom认证?Datacom,即DatacomCommunication的缩写,中文为“数据通信”,属于ICT技术架构认证类别(华为认证包含ICT技术架构认证、平台与服务认证和行业ICT认证三类认证)。作为Routing&Switching认证的升级版,Datacom认证已于2020年4月18日正式发布,后续将替代Routing&Switc......
  • 新手的登录—wp—青少年CTF
    打开登录界面按要求以普通用户user的身份,通过密码password登录使用BurpSuite拦截登录情况在获取(GET)登录结果页面时,修改Cookie中的username为admin点击Forward即可获取Flag-End-......
  • 使用appuploader工具发布证书和描述性文件教程
    使用APPuploader工具发布证书和描述性文件教程之前用AppCan平台开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到AppStore试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申请发布证书和上传ipa,可没有Mac,同学的大老远的也不方便拿过来......
  • 使用appuploader工具发布证书和描述性文件教程
     使用APPuploader工具发布证书和描述性文件教程之前用AppCan平台开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到AppStore试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申请发布证书和上传ipa,可没有Mac,同学的大老远的也不方......
  • LookSSL不提供免费SSL证书,国内还有哪些免费SSL证书?
    当今时代,随着互联网的不断普及和便利化,人们越来越依赖于网络进行各种活动,如购物、支付、社交等。而在这背后,网络安全隐患也愈发凸显,保护个人信息和数据的安全成为了迫切需要解决的问题。其中一项重要手段就是使用SSL证书来确保通信过程中的数据加密和完整性验证。LookSSL在之前也......
  • android:keytool生成应用签名证书(java 15)
    一,查看是否已安装keytoolkeytool命令的程序位于jdk的安装目录/bin下,1,查看是否有keytool命令已安装?[lhdop@blog~]$ls/usr/local/soft/jdk-17/bin/keytool/usr/local/soft/jdk-17/bin/keytool2,查看帮助:列出可用的命令[lhdop@blog~]$keytool--helpKeyandCert......
  • 如何给WebClip签名
    先贴大佬的链接https://blog.csdn.net/slatop/article/details/124212126准备材料1.开发者证书,用作导出私钥、签名证书2.Apple开发者公钥证书,证书下是已经过期的,需要从ApplePKI-Apple重新下载安装AppleWorldwideDeveloperRelationsCertificationAuthority需要使用......
  • 什么是价值投资?散户新手至少要读1遍
    “价值投资”一词是什么意思?流行的常见投资原则之一是“价值投资”,即以低于其内在价值的折扣价购买股票。要点:为了进行价值投资,人们可能会认为股票市场效率低下,公司的股票价格不一定反映其真实价值。通过以低于公允市场价值的价格购买股票,价值投资者希望减少亏损的可能性。贴......