SSL Ldap linux tomcat 配置备忘

来源:互联网 发布:乐高 淘宝 代购 编辑:程序博客网 时间:2024/05/21 21:44

     这几天要在linux环境下为web application配置通过ssl连接到ldap服务器,因为不了解SSL,操作的时候盲人摸象,相关知识越看越多,现在终于搞定,总结一下,不枉学习一遭。

     公钥系统/数字签名/数字证书工作原理

  •      加密解密用同一密钥的算法称为对称加密算法,加解密使用不同的密钥为非对称加密算法。公钥加密属于后者。
  •      证书是一个把公钥与一个名称绑定的标准方式,证书有以下内容,发行者名称,被发给证书的实体,主题的公钥,时间戳。
  •      协议过程:

     甲--》乙:你好

     乙--》甲:我是乙,乙的证书

     甲--》乙:请证明

     乙--》甲:甲,我是乙 {摘要[甲,我是乙]}乙的私钥

     甲--》乙:你好,乙,这是密钥 {秘密} 乙的公钥

     乙--》甲:{一些信息,Message authentication code} 密钥

作为java应用程序,要访问ssl连接必须由java的keystore来管理公钥证书,这里要用到keytool对证书进行操作,导入,导出,删除,查看等。具体的例子如下:

keytool -import -alias ldapca -trustcacerts -file key.crt -keystore /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/security/cacerts

keytool -delete -alias ldapca -keystore /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/security/cacerts -storepass changeit

keytool -list -keystore /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/security/cacerts -storepass changeit

     导入证书后可以执行以下jar文件试试是否生效,如果提示找不到证书的话,需要传入jvm参数指明keystore的位置, 如下:

java -jar -Djavax.net.ssl.trustStore=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/security/cacerts -Djavax.net.ssl.keyStorePassword=changeit testAD.jar

     作为tomcat在运行web application的时候,如果提示找不到证书,也需要指明keystore的具体位置主要是修改tomcat的启动参数,要在conf目录下找tomcat配置文件,linux下tomcat5的配置文件具体是在/etc/tomcat5/tomcat5.conf里, 添加如下参数:

JAVA_OPTS="-Djavax.net.ssl.trustStore=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/security/cacerts -Djavax.net.ssl.keyStorePassword=changeit"


原创粉丝点击