|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。1SSL单向认证观点
当客户端(服务哀求方)向服务端(服务供应方)倡议哀求时,服务器端必要向客户端供应认证。服务端必要天生一个keystore和一个服务器密钥对儿(公钥和私钥),客户端必要天生一个truststore,然后导进服务真个公钥证书。
2keystore和服务器密钥对儿的天生
keytool-genkeypair-aliascertificatekey-keyalgRSA-validity365-keystoreshfqkeystore.jks
这条命令会在天生keystore后接着天生一个密钥对儿。RSA长短对称密钥算法,也能够改成keytool撑持的其他密钥算法,365代表的是证书的无效期,能够本人指定,shfqkeystore.jks是keystroe的称号,也能够本人指定。翻开cmd命令行,输出:
keytool-genkeypair-aliascertificatekey-keyalgRSA-validity365-keystoreshfqkeystore.jks
会提醒输出keystore的暗码,接着会提醒输出名字等信息,以下图:
增补:输出<certificatekey>的主暗码,是指天生服务端证书的私钥。服务端私钥假如和keystore的不异的话,间接按回车。倡议间接按回车,即服务端私钥和keystore的暗码不异。假如二者的暗码不不异的话在服务端tomcatserver.xml中设置终了今后启动tomcat会报一个UnrecoverableKeyException:Cannotrecoverkey的非常(前面会先容服务端tomcatserver.xml的设置的)。
keytool会把天生的keystore文件默许保留到C:Userslenovo路径下(用户目次下的盘算机称号下)接上去天生的一切文件也都保留到此处。
3考证重生成的keystor文件和证手札息
能够实行上面的命令:
keytool-list-v-keystoreshfqkeystore.jks
会显现出以下信息,如图:
4导出公钥证书
上面的命令能够导出自签公钥证书:
keytool-export-aliascertificatekey-keystoreshfqkeystore.jks-rfc-fileshfqcert.cer
个中shfqcert.cer是导出证书的称号,能够任意起个名字,shfqkeystore.jks是2中天生的keystore文件。
实行下面的命令会请求输出shfqkeystore的暗码,会显现以下信息,以下图。
5Truststore的天生和公钥证书的导进
把4天生的公钥证书shfqcert.cer导进到truststore中
Keytool-import-aliascertificatekey-fileshfqcert.cer-keystore
shfqtruststore.jks
shfqcert.cer是4导出的公钥证书,shfqtruststore.jks能够任意起,是天生的truststore的文件名。这条命令起首会天生一个truststore,然后导进4天生的公钥证书shfqcert.cer。
实行keytool-import-aliascertificatekey-fileshfqcert.cer-keystoreshfqtruststore.jks后,起首会提醒输出truststore的暗码,以下图:
6考证5天生的truststore文件
keytool-list-v-keystoreshfqtruststore.jks
shfqtruststore.jks是5天生的truststore文件名。
到此为止,keystore、truststore、公钥证书都已天生终了。
7设置服务真个tomcat
找到tomcat安装路径下的conf路径下的server.xml文件
翻开server.xml,找到
<!--
<Connectorport="8443"protocol="HTTP/1.1"SSLEnabled="true"
maxThreads="150"scheme="https"secure="true"
clientAuth="false"sslProtocol="TLS"/>
-->
如许一段正文,在这段正文上面增加以下一段代码:
<ConnectorSSLEnabled="true"acceptCount="100"clientAuth="false"
disableUploadTimeout="true"
enableLookups="false"maxThreads="25"
port="8443"keystoreFile="D:developToolsapache-tomcat-idmtomcat.keystore"keystorePass="111111"
protocol="org.apache.coyote.http11.Http11NioProtocol"scheme="https"
secure="true"sslProtocol="TLS"/>
个中clientAuth=”false”暗示是SSL单向认证,即服务端认证,port=”8443”是https的会见端口,keystoreFile="D:developToolsapache-tomcat-idmtomcat.keystore"是第一步中天生的keystore的保留路径,keystorePass="111111"是第一步天生的keystore的暗码。
到此服务器端已设置终了,为了考证是不是已设置准确,我们能够在扫瞄器中举行考证。起首启动tomcat,然后在扫瞄器地点输出栏中输出:https://localhost:8443
假如看到以下截图的一个页面则暗示服务端已设置乐成了。
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。 |
|