长沙招工 最新招聘信息,廊坊seo软件,国外优秀设计网站有哪些,石家庄网站推广公钥私钥#xff1a;
1)公钥加密#xff0c;私钥解密#xff1a;加解密 为什么不能私钥加密公钥解密#xff1f; 私钥加密后#xff0c;公钥是公开的都能解密#xff0c;没有意义。 2)私钥签名#xff0c;公钥验签#xff1a;属于身份验证#xff0c;防串改#x…公钥私钥
1)公钥加密私钥解密加解密 为什么不能私钥加密公钥解密 私钥加密后公钥是公开的都能解密没有意义。 2)私钥签名公钥验签属于身份验证防串改防抵赖 A私钥可以解密A公钥的加密内容但是无法确认发送加密内容的人是不是B所以发送者B用B的私钥签名A用B的公钥解密签名即可确认是B发送再用A的私钥解密消息即可。 3)CA证书 就是CA机构(Certificate Authority)颁发的证书其实public.cert就是证书。 证书实际是由证书签证机关CA签发的对用户的公钥的认证。 证书的内容包括电子签证机关的信息、公钥用户信息、公钥、私钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循X.509 国际标准。 4)JKS专用格式 Keystore包含公钥私钥证书 查看详情keytool -v -list -keystore scb-api-banking.jks 5)PKCS12行业标准格式 PKCS#12是公钥加密标准它规定了可包含所有私钥、公钥和证书。 其以二进制格式存储也称为 PFX 文件在windows中可以直接导入到密钥区。 注意PKCS#12的密钥库保护密码同时也用于保护Key。 6)HMAC: HMAC-SHA256需要SecretKey RSA-SHA256需要PrivateKey Hash-based Message Authentication Code:哈希运算消息认证码. MAC消息认证码它是一个需要密钥的算法可以对可变长度的消息进行认证把输出的结果作为认证符。 SHA散列函数它是将任意长度的消息映射成为定长的散列值的函数以该散列值消息摘要作为认证符。 HMAC散列消息认证码:是一种利用密码学中的散列函数来进行消息认证的一种机制所能提供的消息认证包括两方面内容①消息完整性认证 ②信源身份认证。 虽然非对称加密很安全但是和对称加密比起来它非常的慢所以我们还是要用对称加密来传送消息但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。 7)X509 X.509 是密码学里公钥证书的格式标准。 X.509证书里含有公钥、身份信息(比如网络主机名组织的名称或个体名称等)和签名信息可以是证书签发机构CA的签名也可以是自签名
Https双向认证 8)HTTPS 即HTTP SSL / TLS 用户可以通过服务器证书验证他所访问的网站是否是真实可靠 HTTPS优势 1)信息加密: 非对称加密算法和随机码对称加密数据 2)身份验证数字证书(单向认证、双向认证) 3)完整性校验校验证书总公钥的完整性 9)Https单向认证、双向认证 单向验证一般指客户端校验服务端证书服务端并不检查客户端证书 双向认证服务端也检查客户端证书 客户端验证服务器证书浏览器内置公钥HttpClient使用JDK内置公钥jdk1.8.0_261\jre\lib\security\cacerts 服务器端验证客户端证书服务端使用根证书公钥和hash验证客户端证书签名通过后使用客户端公钥加密服务器选择的对称加密算法,客户端生成随机码 注意服务器选择的对称加密算法客户端生成随机码用对方公钥加密。 10)数字证书 证书签名先hash再privatekey私钥加密 证书中有证书内容hash算法签名 证书使用当客户端发起请求时服务器将该数字证书发送给客户端客户端通过CA机构提供的公钥对加密密文进行解密获得散列值数字签名 同时将证书内容使用相同的散列算法进行Hash得到另一个散列值比对两个散列值如果两者相等则说明证书没问题。 11)CSR证书请求文件中内容 CSR是Certificate Signing Request的英文缩写即证书请求文件也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件 证书申请者只要把CSR文件提交给证书颁发机构后证书颁发机构使用其根证书私钥签名就生成了证书公钥文件也就是颁发给用户的证书。 12)OpenSSL 和 keytool: 都是密钥数字证书管理工具 区别keytool没办法签发证书而openssl能够进行签发和证书链的管理
获取公钥Certificate cert keyStore.getCertificate(signatureKeyAlias);PublicKey publicKey cert.getPublicKey();
获取私钥PrivateKey privateKey (PrivateKey) keyStore.getKey(signatureKeyAlias, keyPassword) 99)openssl 生成证书_使用证书和私钥导出P12格式个人证书 1, 产生CA证书 1.1, 生成ca的私钥 openssl genrsa -out cakey.pem 2048 1.2, 生成ca的自签名证书请求 openssl req -new -key cakey.pem -subj /CNExample Root CA -out cacsr.pem 1.3, 自签名ca的证书 openssl x509 -req -in cacsr.pem -signkey cakey.pem -days 999 -out cacert.pem 2, 产生个人证书 2.1, 生成个人证书的私钥 openssl genrsa -out alicekey.pem 2048 2.2, 生成个人证书请求 openssl req -new -key alicekey.pem -subj /emailAddressaliceexample.com -out alicecsr.pem 2.3, 签发个人证书 openssl x509 -req -in alicecsr.pem -CA cacert.pem -CAkey cakey.pem -days 999 -set_serial 01 -out alicecert.pem 3, 合并证书和私钥得到p12格式的个人证书 openssl pkcs12 -export -in alicecert.pem -inkey alicekey.pem -certfile cacert.pem -out alice.p12 4, 提取个人证书 openssl pkcs12 -in alice.p12 -nokeys -clcerts -out alicecert.pem 5, 提取个人证书的私钥 openssl pkcs12 -in alice.p12 -nocerts -out alicekey.pem 6, 提取ca证书 openssl pkcs12 -in alice.p12 -nokeys -cacerts -out cacert.pem