Glassfish v2 在安装的时候会自动生成一个自签名证书存放在:
$glassfish_home/domain/domain1/config/keystore.jks 文件中
其中cacert.jks作为truststore库文件,truststore是用来存储可信的客户端的证书。
停掉服务器: ./asadmin stop-domain domain1
执行命令: ./asadmin change-master-password --savemasterpassword=true
系统会提示你输入新的密码并确认输入。
Keytool –delete –alias s1as –keystore keystopre.jks –storepass <xxx>
其中<xxx>是keystore密码,未修改之前是changeit,修改之后就是step2输入的新密码。
删除后可用命令 keytool -list -rfc -keystore keystore.jks查看里面的证书是否还存在,如果空了说明删除成功。
首先学习下security相关的各种文件的格式和作用:
各语言需要的证书格式并不一致,比如说Java我们采用jks,.Net采用pfx和cer,Php则采用pem和cer;本文会对Security证书相关各类文件格式进行一个汇总,并描述各种格式的适用场景;主要分成两类,其一为密钥库文件格式、其二为证书文件格式;
密钥库文件格式【Keystore】
格式 |
扩展名 |
描述 |
特点 |
JKS |
.jks/.ks |
【Java Keystore】密钥库的Java实现版本,provider为SUN |
密钥库和私钥用不同的密码进行保护 |
JCEKS |
.jce |
【JCE Keystore】密钥库的JCE实现版本,provider为SUN JCE |
相对于JKS安全级别更高,保护Keystore 私钥时采用TripleDES |
PKCS12 |
.p12/.pfx |
【PKCS #12】个人信息交换语法标准 |
1、包含私钥、公钥及其证书 |
BKS |
.bks |
【Bouncycastle Keystore】密钥库的BC实现版本,provider为BC |
基于JCE实现 |
UBER |
.ubr |
【Bouncycastle UBER Keystore】密钥库的BC更安全实现版本,provider为BC |
|
证书文件格式【Certificate】
格式 |
扩展名 |
描述 |
特点 |
DER |
.cer/.crt/.rsa |
【ASN .1 DER】用于存放证书 |
不含私钥、二进制 |
PKCS7 |
.p7b/.p7r |
【PKCS #7】加密信息语法标准 |
1、p7b以树状展示证书链,不含私钥 |
CMS |
.p7c/.p7m/.p7s |
【Cryptographic Message Syntax】 |
1、p7c只保存证书 |
PEM |
.pem |
【Printable Encoded Message】 |
1、该编码格式在RFC1421中定义,其实PEM是【Privacy-Enhanced Mail】的简写,但他也同样广泛运用于密钥管理 |
PKCS10 |
.p10/.csr |
【PKCS #10】公钥加密标准【Certificate Signing Request】 |
1、证书签名请求文件 |
SPC |
.pvk/.spc |
【Software Publishing Certificate】 |
微软公司特有的双证书文件格式,经常用于代码签名,其中 |
由于上面使用openssl生成的个人数字证书,里面包含私钥,证书(证书中包含公钥)和签发证书的CA的证书,这些都包括在glassfishsrv.pk12文件中。Keytool没有命令支持直接把pk12/pfx文件导入keystore.jks库中。到XWSS下载页面下载pkcs12import的工具包,解压后里面的pkcs12import.jar放到类路径中,执行如下命令将pk12种信息导入keystore.jks:
pkcs12import –file glassfishsrv.pk12 –alias slas –keystore keystore.jks –storepass <xxx>
-pass <exp_password>
其中<xxx>是keystore.jks的访问密码,<exp_password>是生成pkcs12文件时候输入的密码。
完成后可以用
keytool -list -v -keystore keystore.jks
查看密钥库中的证书详细信息是否是新导入的pk12中的信息。
参考资料:
http://weblogs.java.net/blog/kalali/archive/2007/08/how_to_have_you.html
http://blogs.sun.com/enterprisetechtips/entry/using_ssl_with_glassfish_v2