PKI体系及密码算法

2023-11-19

HTTPS 的诞生

  • 可先参考网络协议、HTTPS协议等文章

明文传输

明文传输-来源于网络

对称加密

对称加密-来源于网络

“加密”和“解密”使用【相同的】密钥,如果密钥可以安全的传输,那么消息也应该可以安全的传输。

非对称加密

非对称加密-来源于网络

上述非对称加密与对称加密效果基本一样,如果公钥可以安全的传输,那么消息也应该可以安全的传输,接下来看看被劫持的情况。

被劫持-来源于网络

窃听者可以伪造服务器的公钥与客户端通讯,客户端以为是跟服务器通讯,其实是与窃听者在通讯。

无论是对称加密还是非对称加密,都遗留了一个问题没有解决,那就是如何证明我们访问的网站就是我们要访问的网站,而不是他人伪造的,即中间人攻击和信息抵赖的问题,这里就用到了CA证书。

CA 认证

CA认证,即电子认证服务 ,是指为电子签名相关各方提供真实性、可靠性验证的活动。

证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。

CA是证书的签发机构,是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。

  • CA机构也拥有一个证书(内含公钥)和私钥,比如RSA密钥对(与服务器的RSA密钥对没有任何关系),它用私钥对服务器申请的证书进行数字签名,将签名的证书发送给服务器。浏览器再连接服务器,服务器发送证书给浏览器,浏览器拥有CA机构的证书(内嵌在浏览器中,内含公钥),然后校验证书的签名,一旦校验成功,就代表这个证书是可信的CA机构签发的。
  • 成功验证签名只能表示该证书是CA机构签发的,并不代表确认了身份,浏览器会继续校验,比如用户访问的网址是https://www.example.com,浏览器接收到服务器发送过来的证书,验证签名后,发现证书包含的域名也是www.example.com,代表校验身份成功,最后浏览器从证书中获取服务器的公钥,用来进行密钥协商。
  • 浏览器为了校验签名,需要CA机构的公钥,这个公钥如何获取?会不会遇到中间人攻击,其实浏览器集成了CA机构的根证书,根证书包含了验证签名的公钥,如果CA机构的根证书没有集成在浏览器中,那么浏览器就不会信任该证书,无法进行签名验证,这就是信任基础,浏览器会信任CA机构(确切地说是信任CA机构的公钥)。

浏览器并不需要预置所有的CA证书,而只需要预置最顶层CA的证书(通常称作根证书)即可,而全球顶层CA中心数量有限,大概十来个,所以不会存在存储上的问题。当然,如果我们去查看系统预置的根证书,发现数量好像远远不止,那是因为为了程序处理的方便,我们也可能预置一些二级CA证书。比如中国的CA中心在全球可能只是二级CA中心,而我们经常会验证中国CA中心颁发的证书,这个时候预置这些二级CA证书,可以避免证书验证时验证链过长,提高效率。

360安全浏览器预置的根证书

  • 获取证书的过程很严谨,CA机构务必严格校验服务器实体的身份。如果攻击者伪造了服务器实体(比如www.myssl.com)的身份,以www.myssl.com的名义向CA机构申请证书,一旦CA机构没有充分校验申请者的真实身份,给攻击者签发了www.myssl.com主机的证书,带来的危害是极大的,受害者不仅仅是服务器,也包括CA机构本身,CA机构的品牌就是浏览器对它的信任,一旦失去信任基础,这个CA机构也就失去了生存基础,浏览器就会取消该CA机构的根证书。

申请并配置域名SSL证书流程

  • 用户计划在服务器实体上发布一个HTTPS网站(https://www.myssl.com)

  • 根据RSA算法生成公钥私钥对。私钥即需要机密保管的以.key为后缀名的文件,公钥则在.csr文件中,csr文件中还包括生成CSR过程中输入的组织名、域名、联系人邮箱等信息。

  • 可以使用OpenSSL生成,成功后为.csr公钥文件与.key私钥文件

openssl req -new -SHA256 -newkey rsa:2048 -nodes -keyout myssl.com.key -out myssl.com.csr -subj "/C=CN/ST=henan/L=zhengzhou/O=/OU=/CN=myssl.com"
  • 查看csr详细信息
openssl req -in myssl.com.csr -noout -text
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: C = CN, ST = henan, L = zhengzhou, CN = myssl.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:bd:95:a6:dc:77:2f:4b:28:89:bc:47:cc:a4:40:
                    5e:a9:05:12:18:7b:a7:e5:10:07:9e:55:53:43:05:
                    96:bb:a5:f7:0a:9a:a5:64:c8:38:66:7d:0f:f1:67:
                    cc:2e:c1:01:20:92:c9:8c:6c:29:3f:50:bf:03:95:
                    ee:49:fa:ae:89:ac:74:eb:fd:f7:b3:6b:9a:f4:ae:
                    c3:75:ff:02:6d:15:39:5c:6e:1c:3c:ea:96:0c:5d:
                    e9:02:88:3e:5a:eb:37:94:40:e6:a1:ea:65:ce:b8:
                    2a:89:33:f7:b0:2f:5b:24:2d:7f:a5:d5:fb:c7:c6:
                    ae:5e:55:70:84:df:85:8d:a5:ad:f1:c6:3b:44:8d:
                    49:80:81:9d:23:e7:5a:b4:4c:88:71:3c:3a:59:c9:
                    c1:ad:46:2c:59:fa:c6:60:b0:d9:bd:d3:76:b3:95:
                    6c:36:ac:02:d8:bd:ef:8f:db:12:e3:f7:ef:d1:d4:
                    b4:61:75:9c:f6:75:20:f7:a4:a6:b5:64:2f:a0:b0:
                    bb:31:af:2e:2b:0c:0d:4a:e4:57:65:95:6c:06:7c:
                    cd:b2:0a:04:fc:7d:26:f7:3e:9e:dc:53:09:77:5e:
                    b3:29:f2:df:0b:3e:79:10:70:7f:66:c9:bf:76:4c:
                    85:14:7d:a1:28:ae:6b:8a:2b:7d:04:55:55:ae:b7:
                    87:87
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         69:e1:ce:73:a1:c9:44:7a:bd:8d:d7:a1:8c:a7:50:88:1f:94:
         be:67:8f:02:4d:4f:01:09:19:73:33:c0:1d:a6:95:db:ed:41:
         07:9c:a4:6f:1d:00:f3:b5:4a:68:75:59:77:c8:90:49:6e:e2:
         84:d3:7e:89:b1:53:aa:4d:8d:39:88:ab:bc:21:cb:66:9a:5c:
         b7:c6:23:7c:c6:83:94:2f:f7:3d:c8:93:a8:5d:d8:bc:64:90:
         df:e7:ab:00:03:30:26:22:4f:d0:1f:dd:d6:b0:10:50:c3:d9:
         88:61:9d:66:87:fc:fd:62:59:f6:31:af:bd:be:6d:49:bc:a5:
         e9:9e:f0:77:78:da:e3:bd:d1:b9:43:71:c7:a3:ef:93:90:dd:
         0b:51:f2:c9:45:fc:66:2d:a6:c2:db:92:7b:5b:36:5f:d4:bc:
         a6:d3:56:00:af:54:44:ba:6e:9a:0d:5d:ec:cd:36:21:7a:08:
         77:5f:c5:65:fc:1b:fc:d4:e5:68:0f:5a:4e:64:1a:3e:dc:47:
         e4:9f:a7:fe:a5:b8:4d:6a:19:91:bd:04:cf:54:cf:cb:31:df:
         29:d1:4f:e7:b0:87:04:7c:84:8b:56:ee:d8:28:8f:27:ce:7e:
         3b:38:13:9b:98:25:9e:5b:34:ed:4f:f4:5d:d6:6b:f4:6d:86:
         4f:01:8e:f7
  • 校验csr
req -in myssl.com.csr -noout -verify -key myssl.com.key
verify OK
  • 也可以使用KeyTool生成,根据提示输入密码,,成功后为.csr公钥文件与.jks私钥文件
keytool -genkey -alias myssl.com -sigalg SHA256withRSA -keyalg RSA -keysize 2048 -keystore myssl.com.jks -dname "C=CN,ST=henan,L=zhengzhou,O=,OU=,CN=myssl.com" && keytool -certreq -alias myssl.com -file myssl.com.csr -keystore myssl.com.jks && echo Your certificate signing request file is myssl.com.csr.  Your keystore file is myssl.com.jks
  • 也可以通过在线网站生成,如下

https://myssl.com/csr_create.html

建议商业用户使用离线工具生成和处理私钥,如OpenSSL、KeyManager 本地加密存储。

  • 发送CSR文件给CA机构。CA机构核实申请者的身份,最简单的核实就是校验域名(https://www.myssl.com)的拥有者是不是证书申请者,一旦核实成功,CA机构对CSR文件做处理,设置有效期限等,并做最为关键的动作:用自己的私钥对CSR文件进行签名,并将签名值附在CSR文件后面,这样就生成了一张有效的SSL证书。
  • 用户收到证书后,在web服务器(或负载均衡等设备)上,以此前的私钥文件和收到的公钥证书为密钥对,并配置绑定到对应的web站点上。
  • 浏览器向服务器端发送连接请求https://www.myssl.com
  • 服务器接收到请求后,将证书文件和RSA密钥对的公钥发送给浏览器
  • 浏览器接收到证书文件,从中判断出是某CA机构签发的证书,并且知道了证书签名算法是ECDSA算法,由于浏览器内置了该CA机构的根证书,根证书包含了CA机构的ECDSA公钥,用于验证签名。
  • 浏览器一旦验证签名成功,代表该证书确实是合法CA机构签发的。
  • 浏览器接着校验证书申请者的身份,从证书中取出RSA公钥(注意不是CA机构的公钥)和主机名,假设证书包含的主机也是https://www.myssl.com,且连接阶段接收到的RSA公钥等同于证书中包含的RSA公钥,则表示浏览器成功校验了服务器的身份,连接的服务器确实是https://www.myssl.com主机的拥有者。
  • 一旦服务器身份校验成功,接下来就是进行密钥协商,协商出密钥块。

明白以上概念及流程,接下来理解PKI就相对容易了。

PKI体系

PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。

更简单点讲就是基于公钥算法和技术,为网上通信提供安全服务的基础设施。

**身份验证:**确保另一方是你要与之通信的合法服务器或者个人。

**信息加密:**确保没有其他方可以阅读你的通信甚至篡改你的通信。

为了规范化运用PKI技术,出现了很多标准,HTTPS中最常用的标准就是X.509标准。X.509标准来自国际电信联盟电信标准(ITU-T)的X.500标准,1995年国际互联网工程任务组(IETF)的PKIX小组成立,用来建设互联网的PKI公钥基础设施标准,建立的标准就是X.509。

X.509标准PKI基本组成

  • X.509数字证书:解决公钥与用户映射关系问题;
  • CA颁发机构:解决数字证书签发问题;
  • RA注册机构:主要审核服务器实体的身份,一般情况下,可以认为CA机构包含了RA机构;
  • 数字签名:数字签名可以确保消息、文件或数据没有任何更改。它使用信息的加密哈希值来确保数据的完整性,保证任何人都无法修改信息;
  • KMC(Key Management Center密钥管理中心):解决私钥的备份与恢复问题;
  • LDAP(Lightweight Directory Access Protocol轻型目录访问协议):解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈;
  • CRL(Certificate Revocation List证书吊销列表) :是一个结构化文件,每个CA机构将所有的吊销证书(由其签发的)集成在一个文件中,这就是CRLs,CRLs相当于一个黑名单,包含了所有被吊销服务器实体证书的序列号和吊销原因,如果一个待校验服务器实体证书的序列号能够匹配CRLs,表示该证书被吊销了。随着时间的推移,CRLs黑名单会越来越大,需要下载完整的CRLs文件,然后再进行吊销状态检查,这是CRL技术逐步被OCSP技术取代的主要原因;
  • OSCP(Online Certificate Status Protocol在线证书状态协议):请求方为了查询某张证书的吊销状态,向OCSP提供方发送一个查询请求,OCSP提供方根据查询条件,直接返回该证书的吊销状态,方便用户快速获得证书状态,OCSP更高效、扩展性更好,但是也存在一些缺点,可以使用OCSP封套技术解决。

国密算法

类别 分组密码算法 公钥密码算法 摘要算法
国际 DES/3DES/IDEA RSA/ECC CRC32/MD5/SHA-1/SHA-256
国密 SM4 SM2 SM3
  • 众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。

  • 其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前,这些算法已广泛应用于各个领域中。

  • 其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用;比较少人了解这些算法,在这里对这些国密算法做简单的科普

分组密码算法(对称算法)

  • SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯片中,调用该算法时,需要通过加密芯片的接口进行调用。

  • 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

  • SM4对算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

  • 此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。其中rki为轮密钥,合成置换T组成轮函数。轮密钥的产生与上图流程类似,由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。

公钥密码算法(非对称算法)

  • SM2算法全称为SM2椭圆曲线公钥密码算法,是国家密码管理局2010年12月发布的第21号公告中公布的密码行业标准。SM2算法属于非对称密钥算法,使用公钥进行加密,私钥进行解密,已知公钥求私钥在计算上不可行。发送者用接收者的公钥将消息加密成密文,接收者用自已的私钥对收到的密文进行解密还原成原始消息。
  • SM2算法相比较其他非对称公钥算法如RSA而言使用更短的密钥串就能实现比较牢固的加密强度,同时由于其良好的数学设计结构,加密速度也比RSA算法快。

杂凑算法

  • SM3密码杂凑算法是国家密码管理局2010年公布的中国商用密码杂凑算法标准。该算法消息分组长度为512比特,输出杂凑值256比特,采用Merkle-Damgard结构。SM3密码杂凑算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是SM3密码杂凑算法的设计更加复杂,比如压缩函数的每一轮都使用2个消息字,消息拓展过程的每一轮都使用5个消息字等。目前对SM3密码杂凑算法的攻击还比较少。

SM7对称密码算法

  • SM7算法是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付一卡类应用(积分消费卡、校园一卡通、企业一卡通等)。

SM9标识密码算法

  • 为了降低公开密钥系统中密钥和证书管理的复杂性,以色列科学家、RSA算法发明人之一Adi Shamir在1984年提出了标识密码(Identity-Based Cryptography)的理念。标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。2008年标识密码算法正式获得国家密码管理局颁发的商密算法型号:SM9(商密九号算法),为我国标识密码技术的应用奠定了坚实的基础。

  • SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。

ZUC祖冲之算法

  • 祖冲之序列密码算法是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。

主流CA机构

国际CA

  • DigiCert:DigiCert,Symantec,Geotrust,Thawte,Rapid

  • Comodo

  • GlobalSign:GlobalSign、AlphaSSL

  • Sectigo:Sectigo, Positive SSL, Sectigo Enterprise

  • Certum

  • Entrust

国内CA

  • 中国金融认证中心CFCA
  • 深圳市电子商务安全证书管理有限公司,深圳CA
  • 浙江省数字安全证书管理有限公司,浙江CA
  • 数安时代
  • 沃通
  • BaiduTrust
  • 锐安信
  • 天威诚信:vTrus
  • 华测电子,华测CA

国密SSL改造

  • 升级国密算法HTTPS加密后必须兼容全球主流浏览器,确保网站兼容性、易用性和访问速度等性能指标,在升级过程中不能影响用户的访问体验。

国密浏览器

密信浏览器

双SSL证书

  • 在国密SSL支持模块或国密SSL网关同时部署SM2/RSA双SSL证书,由国密支持模块自动识别浏览器是否支持国密算法,自适应兼容密信浏览器、360浏览器等支持国密算法的浏览器,以及Chrome、火狐、IE、Safari等不支持国密算法的全球浏览器,有效解决浏览器兼容性问题,满足金融银行、电子政务等领域的国密算法SSL证书使用需求,真正实现基于国密算法的HTTPS网站全加密和身份可信。

密信浏览器支持“SM2/RSA双证书”部署模式

域名SSL证书

域名SSL证书分类

  • DV SSL证书适合个人网站和小微企业,只需要验证域名的所有权,颁发速度快,最快十分钟就能完成。

  • OV SSL证书是政府机构、企业、事业单位等首选,个人无法申请。相比DV SSL证书仅有的加密功能,证书可以显示单位的真实信息,其验证方式更为严格,除了要验证域名管理权限还要验证企业的真实性,从申请到签发需要1-3个工作日。

  • EV SSL证书是是SSL证书中验证级别最高的https加密证书,是电商、银行、证券等金融或者其他对网站安全度和信任度有较高要求的单位的不二之选。其验证方式最为严格,可以让网站访客们很清楚地知道自己访问的网站真实性,可以极大地提高访客们的访问信心,让使用EV SSL证书的网站具有更好的转化率。

HTTPS性能

  • 一个HTTPS网站的性能由很多因素构成,一个HTTPS网站性能存在瓶颈,将其归罪于TLS/SSL协议是不公平的。

  • 如果一个HTTPS网站支持HTTP/2,那么带来的性能提升完全可以抵消TLS/SSL协议带来的性能损耗。从性能的角度看,HTTP和HTTPS在很多方面是相同的:

    • 都是基于TCP网络模型,任何对于HTTP协议层的优化都适用于HTTPS。
    • 浏览器请求、渲染、加载HTTP网站(HTTPS网站)的流程是一样的,任何对于HTTP应用层的优化也适用于HTTPS。和HTTP相比,TLS/SSL协议性能损耗主要包含两个方面:
    • 增加了网络延迟,相比HTTP来说,TLS/SSL协议完整握手需要增加两个来回(RTT)。
    • 服务器和客户端需要进行密码学运算,增加了设备的负载,削减了并行处理能力。
  • 从TLS/SSL协议的角度出发,优化性能的途径就是:

    • 尽量使用简短握手,减少网络延迟。
    • 使用更快、更安全的密码学算法,必要的话可以使用硬件加速方案。

HTTPS性能优化方法

  • 网络层优化
    • 比如减少多路由导致延迟
    • 增加带宽
    • 重用连接/长连接
    • 流量控制
    • 启用窗口缩放
  • 应用层优化(适用于HTTP、HTTPS)
    • 比如页面布局阻塞
    • HTTP队首阻塞
    • 长连接
    • 多个TCP连接
    • CDN
  • HTTP/2优化
  • TLS/SSL优化
    • 尽量升级Linux内核版本、OpenSSL版本、Nginx等版本
    • TLS快速打开
    • TLS/SSL协议记录层长度优化
    • HSTS
    • 会话恢复
    • OCSP封套
    • 证书优化
      • 证书链长度尽可能小
      • 中间证书要小
      • 使用ECC证书
      • 配置完整的证书链
      • 注意证书尽量不要包含过多主机名
    • 更小的密钥长度(keysize)
    • 加密算法的选择
    • 密钥协商
    • 异步代理

自动化测试HTTPS网站

SSL Server Test

  • SSL Server Test工具是SSL Labs工具集中最重要的一个工具,用于测试服务器的HTTPS配置,主要测试服务器的安全级别,并对服务器的测试结果进行打分。通过该工具,能够知晓HTTPS部署是否存在一些问题,是否有必要进行一些调整。

https://www.ssllabs.com/ssltest/

Summary

  • 除了评分,其他测试数据也非常重要,主要包含:
    • 证书信息,包括服务器实体证书、中间证书、证书链、证书兼容性信息。
    • HTTPS配置信息,包括TLS/SSL协议版本、服务器支持的密码套件、客户端兼容性、协议细节等信息。

Certificate

SSL Client Test

  • 一个HTTPS网站,由客户端和服务器协同组成,HTTPS网站的性能和安全并不完全由服务器决定,客户端(此处主要指浏览器)的HTTPS配置也很重要。
  • 使用SSL Client Test工具可以了解浏览器是否存在安全漏洞,了解浏览器支持的TLS扩展,了解浏览器支持的密码套件。

https://clienttest.ssllabs.com:8443/ssltest/viewMyClient.html

SSL Client Test

https://browserleaks.com/ssl

密信浏览器

360极速浏览器

参考文档

《深入浅出HTTPS:从原理到实战》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PKI体系及密码算法 的相关文章

  • C# .NET - 固定证书颁发机构 - 我做得正确吗?

    我的软件使用 HTTPS 连接连接到 Dropbox 以检索一些敏感数据 我想固定证书颁发机构以防止中间人攻击 到目前为止我有以下代码 static bool VerifyServerCertificate object sender X5
  • Tomcat SSL:无法找到请求目标的有效证书路径

    我正在尝试访问应用程序中的网址 但收到此错误 1771426 http bio 8180 exec 15 ERROR gadget GadgetValidatorServlet wsdl exception WSInvokerExcepti
  • git 验证可信标签

    我想包括git tag v命令进入部署过程以捕获未签名的标签或由不可信的 GPG 密钥签名的标签 该命令返回退出代码为0如果标签具有有效签名 但不关心签名密钥是否可信 我不想手动 grep 结果 GPG 消息 我还没有尝试过 文档也没有提到
  • 在 Python 中生成 CSR

    我正在尝试在 Python 中生成 CSR 而不使用 OpenSSL 如果有人能指出正确的方向 我将非常感激 我假设你不想使用命令行 openssl 本身 Python 库就可以了 这是我编写的用于创建 CSR 的辅助函数 它从生成的密钥对
  • 是否可以仅使用 C# 以编程方式生成 X509 证书?

    我们正在尝试使用 C 和以下代码以编程方式生成 X509 证书 包括私钥 充气城堡图书馆 我们尝试使用一些代码这个样本由 Felix Kollmann 制作但证书的私钥部分返回 null 代码及单元测试如下 using System usi
  • CMP 证书请求

    我使用下面的代码将 CMP 证书请求发送到端点 public static void main String args try System out println In final BigInteger certReqId BigInte
  • DTrace 能否从 OS X 上的 Keychain 中找到不可提取的私钥?

    我正在尝试获取私钥似乎无法导出钥匙串访问 app https security stackexchange com questions 64323 export non extractable private key from keycha
  • 证书中的“主题”是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 相关链接是这个MSDN 文章 http msdn microsoft com en us library bfsktky3 VS 80 a
  • 通过浏览器访问ePass2003 Auto令牌

    我已经加载了带有自签名证书的 ePass2003 Auto 令牌 我将 lib so 文件加载到 Firefox 中 现在 Firefox 可以在令牌中列出证书 我的要求是访问密钥库以进行签名 加密和解密 即用于对其进行加密操作的公钥和私钥
  • SecTrustEvaluate 在 iOS 5 上返回 kSecTrustResultRecoverableTrustFailure

    在有报道称该应用程序无法与 Beta 版一起使用后 我必须将其更新到 iOS5 问题归咎于我们的自定义 SSL 证书验证不再起作用 在 didReceiveAuthenticationChallenge 部分中 我们获取根证书并调用 Sec
  • 使用 CA 签署的另一个证书签署证书

    是否可以使用由 CA 签名的证书作为其他证书的 CA 来签署新证书 并且仍然由根 CA 验证它们 例子 create new key openssl genrsa des3 out server key 2048 openssl req n
  • Android 手机上无法选择 PKI

    我尝试使用 PKI 登录 我使用这个教程 http release manager com rest images 12702 http release manager com rest images 12702 在 Firefox 上这效
  • 什么是 CA 证书,为什么我们需要它?

    我刚刚读过本文 https web archive org web 20161213142308 https www instantssl com ssl certificate products https html了解什么是HTTPS服
  • 为什么 Apache 需要 SSLCertificateKeyFile?

    需要 SSLCertificateKeyFile 私钥 的技术原因是什么 它在哪里使用以及用于什么 SSL 证书文件包含 X 509 证书 该证书又包含用于加密的公钥 SSL 证书Key文件包含与证书中的公钥对应的私钥 为了让网络服务器加密
  • 如何使用 OpenSSL 提取公钥?

    以下命令生成一个包含公钥和私钥的文件 openssl genrsa des3 out privkey pem 2048 Source here http www openssl org docs HOWTO keys txt 使用OpenS
  • 向 iPhone 模拟器添加自签名证书?

    我的 API 端点有一个自签名证书 我正在尝试使用模拟器测试一些内容 但收到 不受信任的服务器证书 我尝试在模拟器上使用 safari 下载 crt 文件 但这似乎不起作用 iPhone Simulator 从哪里获取钥匙串 如何添加受信任
  • keytool如何保护密钥?

    当您使用 Java Keytool 实用程序构建密钥存储时 如何保护密钥 我通读了文档 我意识到每个私钥都有一个密钥密码 然后商店有一个商店密码 但是使用什么机制来保护数据呢 它是加密密码吗 如果是的话 算法是什么 我特别关注 keytoo
  • 如果我在具有备用信任路径的链中的附加证书已过期,会发生什么情况?

    我有一个由 Sectigo 前 Comodo Positive SSL 产品 颁发的证书 状态良好 1年7个月后到期 该证书由 Sectigo RSA 域验证安全服务器 CA 颁发 CA 链中有两个中间证书 由供应商提供 最近的 Secti
  • 在网络应用程序中对数据进行数字签名

    我有一个 Web 应用程序 其中一些数据 不是文件 需要使用 PKI 私钥进行数字签名 PKI 证书和私钥将位于 USB 加密令牌中 当插入 USB 插槽时 该加密令牌会向浏览器注册证书 这减轻了使用证书进行身份验证的痛苦 因为我是通过在应
  • 与证书颁发机构签署证书请求

    我想使用 TLS 相互身份验证来对 go 中制作的 API 上的客户端进行身份验证 我已经创建了一个证书颁发机构 假设鲍勃有一个他想要与客户端一起使用的密钥对 Bob 创建了一个证书请求并希望我验证他的证书以获得授权并 在 API 上进行身

随机推荐

  • jenkins创建html文件夹失败,jenkins html发布者:目录存在,但未能复制到

    难道有人有不同的答案吗 Jenkins安装在Ubuntu 12 04下的tomcat下 我已经配置了使用CVS存储库进行构建 当我尝试进行新构建时 由于以下错误而失败 INFO INFO BUILD SUCCESS INFO INFO To
  • [实习]git ci/cd概念,创建流程以及常见字段含义

    1 基本概念 1 1 CI CD CI Continuous Integration 为持续集成 即在代码构建过程中持续地进行代码的集成 构建 以及自动化测试等 有了 CI 工具 我们可以在代码提交的过程中通过单元测试等尽早地发现引入的错误
  • 【安全脚本】模拟勒索病毒

    0x00 前置 1 将电脑上的重要文件加密 将文件以二进制的方式进行加密处理 导致加密过后的文件 要打开必须要解密 要解密必须要解密程序 2 传播 系统or程序漏洞 人为疏忽 后门或木马程序 3 解决 交钱 破解 数据备份 0x01 pyt
  • 华为机试题103-Redraiment的走法

    描述 Redraiment是走梅花桩的高手 Redraiment可以选择任意一个起点 从前到后 但只能从低处往高处的桩子走 他希望走的步数最多 你能替Redraiment研究他最多走的步数吗 数据范围 每组数据长度满足1 n 200 数据大
  • linux内核中的设计模式

    创建型 Object Pool Object Pool模式可以提升性能 尤其是在对象的分配 初始化成本高 使用频率高 但使用时间短的情况下 对象池可以设置对象池的大小和回收时间缓存预分配的对象 NT和Linux都有简单的预分配缓存对象的机制
  • web移动端布局的那些事儿

    原文地址 github com HuJiaoHJ bl web移动端布局范畴很广 其中比较基础的几个话题 移动端适配 1px border 基础布局 本文主要分享这三个话题 一 移动端适配 提起移动端适配 大家想到的肯定是rem flexi
  • 软件实施的面试准备

    01 计划安排 A 材料准备 离职证明 换 失业证 失业证 失业保险 培训课程 找体检报告 彩印一份 照片 学历证明 B 面试准备 B01 网上简历作修改 B02 练习自我介绍 DHV价值展示 不要太刻意 B03 工作内容讲解 B04 常见
  • 尚硅谷 Vue2.0 + Vue3.0 入门到精通教程学习笔记 (四)

    第四章 Vue 中的 ajax 4 1 解决开发环境 Ajax 跨域问题 Vue 脚手架配置代理 本案例采用 axios 作为发送 Ajax 请求的库 因此首先需要下载并引入 axios 在 VSCode 终端处输入命令 npm i axi
  • mysql中subsrt_MySQL

    MySQL SUBSTR 函数 截取字符串 SUBSTR 与SUBSTRING 意思相等 函数语法 SUBSTR str pos 截取从pos位置开始到最后的所有str字符串 SUBSTR str pos len 参数说明 str为列名 字
  • X2000 Linux 驱动中配置GPIO的上下拉

    由于sdk不支持标准gpio api函数int gpio pull updown unsigned gpio unsigned value 需要用到soc gpio h中的int jzgpio set func int port enum
  • 第一篇博--初入CSDN

    选择开博并计划按月定期发布一些敲码路上的收获和心得 目的是在梳理知识 复盘总结的同时 能够和志同道合的朋友们一起学习 共同进步 在互联网上留下一份自己的痕迹 与诸君共勉 联系方式 631435743 qq com 欢迎大家找我讨论计算机专业
  • 六、IDEA编写HelloWorld并运行

    IDEA IDEA 全称 IntelliJ IDEA 是java编程语言开发的集成环境 IntelliJ在业界被公认为最好的java开发工具 尤其在智能代码助手 代码自动提示 重构 JavaEE支持 各类版本工具 git svn等 JUni
  • hook中使用ref使用

    对于antd的fom表单 hook使用ref import React useState useEffect useRef from react const dateRef useRef dateRef current setFieldsV
  • 【Umi+Antd+Ts实战】新增商品弹框组件【V1.0】

    新增商品弹框组件 先看效果 1 点击 符号 弹出新增商品组件 路由配置可以参考下面博客 https blog csdn net weixin 43352901 article details 108536112 2 新增商品弹框内容 文件目
  • MySQL数据库20G数据迁移至其他服务器的MySQL库或者云MySQL库

    背景 20G的MySQL数据迁移至火山云MySQL库 使用navicat的数据传输工具迁移速度耗费时间过长 方案一 使用火山云提供的MySQL数据迁移服务 其他大厂应该提供的也有 方案二 使用数据迁移工具kettle 也可使用其他数据迁移工
  • Windows命令行实用技巧:详解del命令参数

    这个命令是用于Windows命令行 CMD 或者PowerShell的 它是使用 del 命令来删除文件 s f 和 q 是该命令的参数 s 参数 这个参数表示递归 即命令会删除指定目录及其子目录中的指定文件 f 参数 这个参数表示强制 即
  • mybatisPlus如何进行联接

    我想左连接某表 plus有没有提供api 类型leftJoin方法 是的 MyBatis Plus 提供了 API 来支持左连接查询 可以使用 leftJoin 方法进行左连接操作 以下是一个示例代码 import com baomidou
  • 调试osgEarth(33)分页瓦片卸载器子节点的作用-(3)渲染遍历的帧号和时间设置-_terrain使用TerrainCuller

    继续调试 这个是一堆NULL 省事了 然而 真的有这么简单么 想想地球加载起来时 视点变化时
  • 关于命令或语法中的方括号,尖括号等符号的区别

    关于方括号和尖括号的区别 命令说明或者语法说明中包含一些方括号 lt gt 等符号 方括号 表示可选参数 尖括号 表示必填参数 1 基本符号命令 内的内容意思是 可写可不写 那就必须要在 内给出的选择里选一个 lt gt 表示必选 注 不能
  • PKI体系及密码算法

    HTTPS 的诞生 可先参考网络协议 HTTPS协议等文章 明文传输 对称加密 加密 和 解密 使用 相同的 密钥 如果密钥可以安全的传输 那么消息也应该可以安全的传输 非对称加密 上述非对称加密与对称加密效果基本一样 如果公钥可以安全的传