以下两个链接可以帮助理解单向认证和双向认证:感谢这位博主!

Java-JSSE-SSL/TLS编程代码实例-单向认证

Java-JSSE-SSL/TLS编程代码实例-双向认证

(cmd命令窗口)

示例:

keytool -genkey -validity 36000 -alias test -keyalg RSA -keystore F:\FTPConfig\test\keyserver.keystore

其中 
genkey表示生成密钥 
validity指定证书有效期,这里是36000天 
alias指定别名,这里是test
keyalg指定算法,这里是RSA 
keystore指定存储位置,这里是F:\FTPConfig\test\keyserver.keystore

以下是TLS双向验证的演示流程:

可以参照我上一篇文章:

利用java实现FTPS的双端(TLS双向验证)

1)生成服务端私钥,并且导入到服务端KeyStore文件中

keytool -genkey -alias serverkey -keyalg RSA -keystore   E:\FTPConfig\SedTest\kserver.keystore

server.keystore是给服务端用的,其中保存着自己的私钥

2)根据私钥,导出服务端证书

keytool -export -alias serverkey -keystore E:\FTPConfig\SedTest\kserver.keystore -file E:\FTPConfig\SedTest\server.crt

server.crt就是服务端的证书

3)将服务端证书,导入到客户端的Trust KeyStore中

keytool -import -alias serverkey -file E:\FTPConfig\SedTest\server.crt -keystore E:\FTPConfig\SedTest\tclient.keystore

4)生成客户端私钥,并且导入到客户端KeyStore文件中

keytool -genkey -alias clientkey -keyalg RSA -keystore E:\FTPConfig\SedTest\kclient.keystore

5)根据私钥,导出客户端证书

keytool -export -alias clientkey -keystore E:\FTPConfig\SedTest\kclient.keystore -file E:\FTPConfig\SedTest\client.crt

6)将客户端证书,导入到服务端的Trust KeyStore中

keytool -import -alias clientkey -file E:\FTPConfig\SedTest\client.crt -keystore E:\FTPConfig\SedTest\tserver.keystore

如此一来,生成的文件分成两组
服务端保存:kserver.keystore tserver.keystore
客户端保存:kclient.keystore  tclient.kyestore

keytools工具生成keyStore文件相关推荐

  1. JAVA Keytool工具生成Keystore和Truststore文件

    JAVA Keytool工具生成Keystore和Truststore文件 文章目录 JAVA Keytool工具生成Keystore和Truststore文件 生成含有一个私钥的keystore文件 ...

  2. 【Android 教程系列第 27 篇】如何使用 Keytool 工具生成 keystore 签名文件

    这是[Android 教程系列第 27 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:Keytool 是什么? 二:Keytool 需要安装吗? 三:Keytool 密钥的存储形式 四:Key ...

  3. linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  4. VCS仿真和多个test用urg工具生成coverage文件verdi查看--转载

    VCS仿真可以分成两步法或三步法, 对Mix language, 必须用三步法.我呢,因为运用都是简单的非mix language,所以经常用一步法,因为这样省劲,但是对于跑regression最好还 ...

  5. 这是预编译工具生成的文件_组件化架构 10.编译优化

    软件研发中,耗费最多时间的并不是编写代码,而是代码编译和代码不断调试的过程 软件试错时间 Android基础编译流程 编译构建的四个步骤: 代码编译:将源代码,R文件,AIDL生成的文件等 编译成.c ...

  6. 如何生成keystore文件证书

    第一步 进入https://ask.dcloud.net.cn/article/35985点击Android平台签名证书(.keystore)生成指南 第二步:安装jre环境(如已有请跳过) 第三步: ...

  7. 【keytool安卓证书生成工具】生成.keystore文件且解析成sha1格式

    参考:Android平台签名证书(.keystore)生成指南 - DCloud问答 参考:Android 获取debug.keystore/自定义的keystore的SHA1_baiyu-博客-CS ...

  8. android的dmtracedump工具生成trace文件图片 'dot' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    http://jingyan.baidu.com/article/c910274bfa6c1fcd361d2df7.html http://www.cnblogs.com/albert1017/p/3 ...

  9. Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法

    Java 项目转化为 exe 可执行文件 第一章:IntelliJ IDEA 将项目转化为 jar 包 ① 设置 Artifacts ② 设置是否集成外部 jar 包 ③ 将 java 项目转化为 j ...

最新文章

  1. python运行卡死_快速解决jupyter启动卡死的问题
  2. 计算长方形的周长和面积(类和对象)_JAVA
  3. 如何实现 OpenAPI 多语言 SDK 开发?
  4. java getrealpath_JavaEE路径陷阱之getRealPath
  5. java.security.NoSuchAlgorithmException: SHA_256 MessageDigest not available
  6. [USACO07NOV]牛栏Cow Hurdles
  7. 阻止brew自动更新
  8. 通过 Powershell 来替换 ARM 模式下虚拟机的网络接口
  9. Reflector for .NET 下载问题
  10. 计算有向图可达矩阵Matlab实现
  11. 对计算机专业来说学历真的重要吗?
  12. python教学ppt百度云_python教程ppt百度云盘-Python教程ppt课件类型的
  13. jsPlumb点到点连线偏移
  14. java正则表达式控制半角字符串输入
  15. 安卓文件管理神器--X-plore
  16. 你并没有那么去努力 所以你不能怪生活
  17. RecyclerView详解一,使用及缓存机制
  18. 图像锐化(增强)和边缘检测
  19. 如何评估社交网络中信息内容的价值呢?
  20. 戴森:将于2022年内发布“空气净化耳机”

热门文章

  1. Spring Boot 由浅入深学习进阶(1)
  2. 公众号推送模板消息,跳转小程序报错INVALID WEAPP PAGEPATH
  3. 虚拟现实VS增强现实,谁更受欢迎?
  4. 基于stm32汽车电动车智能充电桩设计
  5. 夜晚书房电脑桌css3绘图
  6. Portraiture2023免费后期修图插件磨皮神器DR5
  7. 风格迁移0-06:stylegan-源码无死角解读(2)-数据预处理process_reals
  8. 计算机英语刘艺课件,计算机英语刘艺 王春生Unit1.ppt
  9. 拼多多回应将总部从中国迁至爱尔兰:严重失实;微软开放 Bing Chat 访问,无需等待;OpenAI 亏损翻倍|极客头条
  10. python-如何解决执行pip install 命令的时候出现 File stdin,line 1 pip install XXX的问题