java使用https配置以及浏览器导入本身生成的证书

有一个须要,客户要求使用https,可是目前只使用java生成的证书便可。以后研究了一下,记录以下。 html

(1)java工具keytool

位置:%JAVA_HOME%/bin/keytool.exe java

经常使用命令: linux

建立 web

keytool -genkey -alias catest -keyalg RSA -keystore d:\catest.key

alias    指定别名 chrome

keyalg    加密方式 shell

keystore    仓库位置 windows

以后会要求输入其余几项: 浏览器

    1.建立的仓库密码和密码确认 tomcat

    2.CN(您的名字于姓氏是什么)    域名或IP,本机调试输入127.0.0.1 安全

        OU、O等,其中CN为最重要的信息,会影响以后导入的信任cer证书可否正常访问。

    3.输入生成的秘钥密码,默认与仓库密码一致,直接输入回车便可。

也可使用一条语句(未验证)


keytool -genkey -alias yushan -keypass yushan -keyalg RSA -keysize 1024 -validity 365 -keystore  e:/yushan.keystore -storepass 123456 -dname "CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)";
其余参数不详细介绍,你们能够查阅。


删除


keytool -delete -alias catest -keystore d:\catest.key
查看



keytool -list -keystore d:\catest.key
当建立完成后,就能够配置服务器为https了。可是我还要作一个操做,生成cer文件,导入浏览器为信任证书,这样能够正常访问服务器,而没有提示。


导出


keytool -export -alias catest -file d:\catest.cer -keystore d:\catest.key
以后能够看到生成了 catest.cer 文件,以后导入用,keytool的操做就完成了。

更多操做,能够参考http://blog.csdn.net/tony1130/article/details/5134318

(2)tomcat配置

我使用tomcat7,其余版本应该相似。

打开conf/server.xml,复制其中被注释掉的https的配置段,粘贴到注释外面。并添加keystoreFile(仓库文件)和keystorePass(密码)属性,其余配置默认便可,若是须要优化你们能够搜索资料,配置以下

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" 
keystoreFile="d:/catest.key"
keystorePass="catest" />

如今能够启动tomcat,已经能够经过https访问了,例如https://127.0.0.1:8443

以后还有一些操做能够配置。

(3)配置web.xml,令指定的登陆请求使用https,其余页面可使用http

<login-config>
	<auth-method>CLIENT-CERT</auth-method>
	<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
	<web-resource-collection>
		<web-resource-name>SSL</web-resource-name>
		<url-pattern>/login.html</url-pattern>
	</web-resource-collection>
	<user-data-constraint>
		<transport-guarantee>CONFIDENTIAL</transport-guarantee>
	</user-data-constraint>
</security-constraint>
配置节点介绍请参考  http://252401762.iteye.com/blog/310078


(4)安全证书不受信任

如今访问时,会提示    安全证书不受信任,将以前导出的cer证书导入到浏览器的信任根证书就能够了。

双击证书,安装过程当中,有一步为选择证书的安装位置,选择为  受信任的根证书颁发机构  便可。IE下正常,chrome下仍是没辙。

(5)weblogic配置

使用生成的秘钥,配置weblogic。固然正式的证书中,公钥、私钥、密码、文件等要复杂一些。不过如今只是简单作实现功能。

weblogic版本10.3,windows环境。linux环境应该相似。

进入weblogic控制台,点击左侧  服务器  ,在右面的列表中选择  AdminServer(就是接受访问的服务器),进入配置页面。

配置页面中,有三个选项卡是以后会用到的,分别是   密钥库(keystore)、SSL和通常信息(general)。

在密钥库中,

密钥库选择    定制标识和定制信任(Custom Identity and Custom Trust)。

下面的两个配置相同便可:

密钥库(keysotre):密钥文件位置(d:\catest.key)

类型(keysotre type):jks

密码(passphrase):设置的密码(catest)

密码确认(passphrase):确认密码(catest)

在SSL配置中:

标识和信任位置(identity and trust location):密钥库(keystore)

秘钥别名(key alias):建立的key别名(catest)

秘钥密码和确认密码:默认建立的是和密钥库密码同样(catest)

在通常配置中:

有一项   已启用的SSL监听端口(SSL Listen Port Enabled),打钩,并记住下面的端口,默认为7002。

配置完成,保存,激活更改,重启应用。


(6)正式CA证书的使用,未完待续。。。

相关文章
相关标签/搜索