Glassfish v2 在安装的时候会自动生成一个自签名证书存放在:
$glassfish_home/domain/domain1/config/keystore.jks 文件中
其中cacert.jks作为truststore库文件,truststore是用来存储可信的客户端的证书。
- 使用上面描述的方法生成一个服务器端使用的个人数字证书:glassfishsrv.pk12
- 修改glassfish证书库keystore.jks访问密码,初始密码是:changeit
停掉服务器: ./asadmin stop-domain domain1
执行命令: ./asadmin change-master-password --savemasterpassword=true
系统会提示你输入新的密码并确认输入。
- 删除glassfish 自带的证书:
Keytool –delete –alias s1as –keystore keystopre.jks –storepass <xxx>
其中<xxx>是keystore密码,未修改之前是changeit,修改之后就是step2输入的新密码。
删除后可用命令 keytool -list -rfc -keystore keystore.jks查看里面的证书是否还存在,如果空了说明删除成功。
- 导入testCA签发的服务器证书
首先学习下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、包含私钥、公钥及其证书 2、密钥库和私钥用相同密码进行保护
|
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以树状展示证书链,不含私钥 2、p7r为CA对证书请求签名的回复,只能用于导入
|
CMS
|
.p7c/.p7m/.p7s
|
【Cryptographic Message Syntax】
|
1、p7c只保存证书 2、p7m:signature with enveloped data 3、p7s:时间戳签名文件
|
PEM
|
.pem
|
【Printable Encoded Message】
|
1、该编码格式在RFC1421中定义,其实PEM是【Privacy-Enhanced Mail】的简写,但他也同样广泛运用于密钥管理 2、ASCII文件 3、一般基于base 64编码
|
PKCS10
|
.p10/.csr
|
【PKCS #10】公钥加密标准【Certificate Signing Request】
|
1、证书签名请求文件 2、ASCII文件 3、CA签名后以p7r文件回复
|
SPC
|
.pvk/.spc
|
【Software Publishing Certificate】
|
微软公司特有的双证书文件格式,经常用于代码签名,其中 1、pvk用于保存私钥 2、spc用于保存公钥
|
由于上面使用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中的信息。
参考资料:
利用openssl创建一个简单的CA
glassfish v2 使用ssl
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
Sun Application Server Security Config
分享到:
相关推荐
【标题】Glassfish V2 和 NetBeans 6 在IT行业中,Glassfish V2和NetBeans 6是两个重要的开源工具,它们对于Java开发者来说具有很高的价值。Glassfish V2是一个基于Java EE(Enterprise Edition)的服务器平台,而...
《Glassfish V2与Apache整合详解》 在IT行业中,服务器的高效运行和灵活配置是提升应用程序性能的关键。本文将详细介绍如何将Java EE应用服务器Glassfish V2与Web服务器Apache进行整合,以实现更强大的服务架构。...
《深入解析Glassfish-v2源码》 Glassfish-v2是一款基于Java EE 5标准的开源应用服务器,其源码的公开为开发者提供了深入了解和学习Java企业级开发的宝贵资源。在本文中,我们将深入探讨Glassfish-v2的核心概念、...
glassfish 安装构建在windows 中自动启动服务。
【标题】"在Glassfish v2ur1 中测试grizzly comet chat demo"涉及的主要知识点是Web服务器技术,特别是关于Glassfish应用服务器以及Comet技术的使用。Glassfish是Oracle公司提供的一个开源Java EE应用服务器,v2ur1...
通过windows sc dos 命令给windows 服务添加启动服务。 sc create SS9PE binPath= "D:\appserver\glassfish-v2ur1\lib\appservService.exe
《Glassfish安装手册及源文件详解》 Glassfish是一款开源的应用服务器,它是Java EE平台的实现,为企业级应用提供了一套完整的开发、部署环境。在本文中,我们将深入探讨如何安装Glassfish,以及如何利用Ant工具...
本文详细介绍了如何使用Glassfish部署Web应用的过程,包括开发工具的选择、Glassfish的安装与配置以及Web应用的具体部署方法。通过本文的学习,读者应该能够掌握如何有效地在Glassfish环境下部署和管理Web应用。
- 如果需要使用GlassFish V2的集群功能,可以使用以下命令替换上面的安装步骤: ``` lib/ant/bin/ant -f setup-cluster.xml ``` - 对于Windows系统: ``` lib\ant\bin\ant -f setup-cluster.xml ``` #### ...
确保使用兼容的NetBeans版本至关重要,因为不是所有的版本都适用于Glassfish v2。目前推荐的稳定版本是NetBeans 5.5.1。若需了解更多关于使用NetBeans开发Java EE应用的信息,可以参考官方提供的教程。 接下来,...
其中,通过SSH Secure Shell Client使用命令行工具进行安装,并且对glassfish安装目录进行重命名,设置Java环境变量,创建自定义domain,并设置了domain目录和管理端口。 2. 接着,介绍了如何通过DAS控制台创建集群...
- 使用命令行运行安装程序:`D:\>java –jar glassfish-installer-v2ur1-b09d-windows-ml.jar`。 - 安装完成后,可以通过执行`D:\glassfish>ant -f setup.xml`来完成额外的配置。 2. **启动GlassFish服务**: - ...
总之,通过以上步骤,可以顺利地在本地环境中配置和使用GlassFish服务器,同时将其集成到Eclipse开发环境中,为后续的Java Web应用开发打下坚实的基础。这一过程虽然涉及到多个软件组件和环境变量的设置,但只要按照...