zoukankan      html  css  js  c++  java
  • jdk_keytool

    最近在学习ws 的时候,学到了一个认证和授权,在我们互联网访问的时候,有些内容不想让别人发现,

    就需要我们对内容进行访问控制,也就遇到了认证和授权,于是就接触到了keytool这个工具

    keytool 这个工具是jdk提供的工具

    Java SE Tools Reference 这是jdk的官方文档

    JDK 中创建和管理证书的工具是 keytool 。 keytool 是一个功能强大的安全工具,它不仅仅只是用来创建和管理证书,还可以用来创建和管理对称性加密算法需要用到的密钥,还可以用自己的证书给别人签发证书(类似 CA 的工作),还可以导入别人发布的证书。 keytool 使用 keystore 存储密钥和证书,在一个 keystore 中可以存储多个条目,访问 keystore 和访问 keystore 中的条目均需要密码。

    首先了解下keytool这个工具有哪些功能,或者说能帮助我们干什么

    直接上图

    基本上所有命令都有的 -help参数,就可以得知命令有哪些操作

    我们这里想要做什么呢,就是通过keytool 来生成一对公钥和私钥,私钥是用来自己进行签名,公钥是用来验签

    就形成了一个安全的数字签名呢

    那么如何操作

    数字签名是一组操作

    离不开这个命令,于是我们再看下这个命令的帮助

    生成密钥对,然后针对参数,来给定值

    证书是给别人用的不是自己用的,这里再来看一下导出证书的详细参数

    有了导出就有导入

    一个基本的流程就完了,

    下面给出这次生成公钥私钥的详细command

     1 @echo of
     2 keytool -genkeypair -alias server -keyalg RSA -dname "cn=server" -keypass serverpass -keystore server_store.jks -storepass storepass
     3 
     4 keytool -exportcert -alias server -file server_key.rsa -keystore server_store.jks -storepass storepass
     5 
     6 keytool -importcert -alias server -file server_key.rsa -keystore client_store.jks -storepass storepass -noprompt 
     7 
     8 del server_key.rsa
     9 
    10 keytool -genkeypair -alias client -keyalg RSA -dname "cn=client" -keypass clientpass -keystore client_store.jks -storepass storepass
    11 
    12 keytool -exportcert -alias client -file client_key.rsa -keystore client_store.jks -storepass storepass
    13 
    14 keytool -importcert -alias client -file client_key.rsa -keystore server_store.jks -storepass storepass -noprompt 
    15 
    16 del client_key.rsa

     结论,需要官方提供的东西都具有很好地学习价值,一个help 里面藏着巨大玄机,给自己加油!!!

  • 相关阅读:
    Eureka 原理圖
    RabbitMQ 介紹
    rabbitmq-3.5.1-安裝
    MyBatis 基础入门
    CSS
    程序员必会算法-KMP算法
    编程这些年
    排序算法之直接插入排序
    排序算法之选择排序
    排序算法之冒泡排序
  • 原文地址:https://www.cnblogs.com/obesityspace/p/7057623.html
Copyright © 2011-2022 走看看