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却可以?!是有是无?要在外网上基本不存在!