| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> (备份)自建keystore 再下载网页认证指纹,导入自建keystore最后用此keystore 读取https网页 -> 正文阅读 |
|
[网络协议](备份)自建keystore 再下载网页认证指纹,导入自建keystore最后用此keystore 读取https网页 |
keystore? truststore 本质是一样的,我们就用自建的keystore作为truststore. 1:在我的java工作目录/home/wzpad/java下运行,生成keystore文件:keystore.jks keytool -genkey -alias? mydomain? ?-keyalg RSA? -keystore keystore.jks -storepass 123456 2:打开chrome浏览器,导出想要的网页的认证指纹,并存储,比如我导出https://cn.bing.com的指纹取名为bing.crt? 复制此文件到工作目录。 3:将 bing.crt 文件导入刚建的keystore.jks. keytool -import -alias bing? ?-keystore keystore.jks? -file? bing.crt 好了,现在可以用此 keystore.jks 来读取https://cn.bing.com网页了。主程序参照上篇用cacerts 读取https 网页。经验证,这个证书可以打开所有微软bing搜索的网页。 运行javac 程序时,必须要指明此keystore文件的路径: -Djavax.net.ssl.trustStore=/home/wzpad/java/keystore.jks? -Djavax.net.ssl.trustStorePassword=123456 经验证,完美打开网页,如删掉keystore.jks中bing指纹,则程序报错。或者用此证书打开除bing外的其他网页,如百度网页则报错。 删除命令:keytool? -delete -alias bing? -keystore keystore.jks 以下是我现在的理解:keystore是自己的私密,当然就不能对外发送。它的主要作用是产生公密 truststore ,这个密码才是用来向外界传递的。目标网页的指纹就是目标网页的truststore,认证过程就是用java内置的cacerts 与目标网页的truststore比对来判断是否一致。而 cacerts就是我们管理的外来网页truststore库,只不过是java帮我们先预置的。我们可以向cacerts中加入信任的指纹。cacerts是一个密码仓库,有很多指纹。keystore还有另一个作用就是认证某一个软件或者产品属于某一个keystore,keystore一经生成初始注册的信息是不能修改的。从而从keystore的所有权就能判断某个产品的所有权。所以发布的商业软件必跟着一个keystore文件。证明此软件的属性。? 另外要注意的是,这个cacerts是用来认证互联网上的外来网页用的。如果外来网页要认证我们的主机,就必须用此内部主机的truststore。当然我们要事先拷贝一份自己的truststore到此外来服务器作比对之用。此场情我想到的用处是公司服务器验证员工的电脑。特别说明此truststore不是cacerts .而是我们用我们的keystore生成的truststore. 上面我们用keystore.jks 来作为truststore用,所以可以成功,是因为里面导入的bing指纹是从 bing 网页下载的原版指纹,只是借用了keystore壳而已。如果你不嫌麻烦,你也可以把cacerts中的bing指纹先删除,再导入试试。不要理解错了。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:41:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |