之所以需要URL编码是因为出于兼嫆性考虑,很多服务器只识别ASCII字符但如果URL中包含中文、日文这些非ASCII字符怎么办?不要紧URL编码有一套规则:
兼嫆性考虑
只识别ASCII字符
包含中文、日文
A~Z,a~z0~9
-、_、.、*
其他字符
UTF-8编码
每个字节以%XX
执行上述命令,JDK会在当前目录创建一个my.keystore文件并存储创建成功嘚一个私钥和一个证书,它的别名是mycert
JDK
当前目录
个my.keystore
mycert
有了key store存储的证书,我们就可以通过数字证书进行加解密和签名:
key store存储的证书
数字证书
在上述代码中我们从key store直接读取了私钥-公钥对,私钥以PrivateKey实例表示公钥以X509Certificate表示,实际上数字证书只包含公钥因此,读取证书并不需要口令只有读取私钥才需要。
key store
私钥-公钥对
私钥以PrivateKey实例
X509Certificate表示
读取证书并不需要口令
只有读取私钥才需要
以HTTPS协议為例浏览器和服务器建立安全连接的步骤如下:
操作系统内置的Root CA
加密一个随机的AES口令并发送给服务器
私钥解密
AES口令
上述流程只是一种最常见的单向验证如果服务器还要验证客户端,那么客户端也需要把自己的证书发送给服務器验证这种场景常见于网银等。
最常见的单向验证
验证客户端
客户端也需要把自己的证书发送给服務器验证
网银
注意: 数字证书存储的是公钥以及相关的证书链和算法信息。 私钥必须严格保密如果数字证书对應的私钥泄漏,就会造成严重的安全威胁如果CA证书的私钥泄漏,那么该CA证书签发的所有证书将不可信数字证书服务商DigiNotar就发生过私钥泄漏导致公司破产的事故。
公钥
相关的证书链
算法信息
数字证书就是集合了多种密码学算法用于实现数据加解密、身份认证、签名等多种功能的一种安全标准。
数字證书采用链式签名管理顶级的Root CA证书已内置在操作系统中。
数字证书存储的是公钥可以安全公开,而私钥必须严格保密
你对这个回答的评价是
126450是这个陸位数,6+0=6都能被2和5除尽哟
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。
点击添加站长微信