apache tomcat https应用

http://blog.csdn.net/lifetragedy/article/details/7699236

http://wenwen.soso.com/z/q373784763.htm

http://www.cnblogs.com/songxiangzaiya/archive/2009/01/18/1377756.html

http://shenqiubufu.blog.163.com/blog/static/162792494201062322459301/

 

1.telnet默认为23端口,window7等默认将其关闭,需要turn windows features on or off(客户端|服务器),并且开启telnet服务(有RPC等依赖服务需提前开启),命令“telnet IP (端口)”端口默认为23端口。23端口有危险,应该保持关闭。应该用SSH等替代。

2.公钥/私钥都可以用来加解密,私钥的加密称为签名(表明是谁发出),公钥的解密称之为认证(认证谁发出),哈希摘要保证数据的完整性

3.产生证书可以使用OpenSSL,http://www.openssl.org/related/binaries.html下载安装后都自动配置好Path:

  • 1)生成证书所用的密钥(用户模拟RootCA,用来对服务器的证书进行签名)
    • openssl genrsa -des3 -out ca.key 1024
    • openssl rsa -in ca.key -out ca.key  去密码
    • openssl req -new -x509 -key ca.key -out ca.crt -config /cygdrive ../openssl.cfg
    • 导入为受信任的根证书
  • 2)生成Web服务器端证书密钥
    • openssl genrsa -des3 -out server.key 1024   产生私钥并用DES3加密
    • openssl rsa -in server.key -out server.key
    • openssl req -new -key server.key -out server.csr
    • State or Province Name (full name)等需要与1)设置的相同!
  • 3)针对window版的OpenSSL(linux等版本略过)
    • 在指定的目录建立demoCA目录,这里假设c:/demoCA
    • cmd-->切换到demoCA目录
    • mkdir demoCA
      mkdir demoCA/newcerts
      mkdir demoCA/private
      touch demoCA/index.txt
      echo 00 >> demoCA/serial
    • 打开openssl.cnf在[CA_default]里修改dir=c:/demoCA
  • 4)openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ../openssl.cfg

4.证书的Common Name与域名一致并且安装有证书才会在浏览器上显示正确信息。如果没有安装证书,手工确认,会显示证书不受信任。

5.生成KEY(只需要私钥)-->生成证书请求(Certificate Signing Request)-->用CA签名(这一步就是将CSR交给正规CA签名)

6.telnet xxx 443 的访问内容将不被显示,理解为加密了!

7.HTTPS连接中证书虽然没有办法被证明是否可信任(没有被客户浏览器中的CA签名),但是只要客户点击继续,整个连接过程仍然会是加密传输。

8.Tomcat上的Https协议,配置的时候将protocol="org.apache.coyote.http11.Http11Protocol"可以避免Socket bind failed: [730048]错误。或者删掉TOMCAT_HOME/bin/tcnative-1.dll?

9.如果Tomcat中没有配置HTTPS,即没有开启8443端口,也就不会通过Apache访问到对应的内容

10.问题:用Common name在HTTPS协议下访问内容(在没有配置HTTPS的Tomcat下)不行,但是使用localhost却可以?!是有是无?要在外网上基本不存在!

posted on 2012-11-13 00:32  山上明月  阅读(1370)  评论(0编辑  收藏  举报