利用jdk中的keytool生成证书。

利用jdk中的keytool生成证书。

最近搭建单点登录CAS服务器,需要安全证书。
找到一个教程如下:

  1. 使用第一个命令:keytool -genkey -alias cas -keyalg RSA -validity 999
    -keystore c:/etc/cas/thekeystore,这时候会在c盘生成thekeystore文件。
  2. 执行命令:keytool -export -file /etc/cas/config/cas.crt -keystore命令:keytool -export -file /etc/cas/config/cas.crt -keystore c:/etc/cas/thekeystore -alias cas,这时候会生出一个交cas.crt的证书。
  3. 将证书导入到jre中: keytool -import -file /etc/cas/config/cas.crt -alias cas -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit,记住要加上jdk的默认密码,也就是-storepass changeit。
  4. 记住证书生成后记得要修改host文件,因为我们是自己生成的证书。修改host文件其实就是将本地的ip对应到你刚才输入的域名,也就是test .test.com

但是我在第二个步骤就遇到了一个问题
keytool 错误: java.io.FileNotFoundException:\etc\cas\config\cas.crt (系统找不到指定的路径。)
原来需要自己先在\etc\cas\下新建一个config目录


然后我在第三个步骤又遇到了两个问题

  1. 非法选项: Files\Java\jdk1.7.0_79\jre\lib\security\cacerts
    这个不是太清楚原因,但是我通过CD到jdk安装目录下的\jre\lib\security,然后从当前目录开始,%JAVA_HOME%/jre/lib/security/cacerts改为cacerts
    执行命令keytool -import -file /etc/cas/config/cas.crt -alias cas -keystore cacerts -storepass changeit,可以成功。
  2. keytool 错误: java.io.FileNotFoundException: cacerts (拒绝访问。)
    找到原因如下,C:\Program Files以及C:\Program Files(x86)都是只有管理员权限才能访问的目录,所有写、修改操作都会遭遇”拒绝访问”。
    所以重新用管理员身份打开CMD

猜你喜欢

转载自blog.csdn.net/weixin_42156742/article/details/83303287
今日推荐