简而言之,
- 您可以创建自己的自签名证书。这不会保护您的应用程序免受各种攻击,但您的通信将被加密。如果你在一些内联网上运行它,我认为这是一个合理的解决方案。
- 见下文
- 见#1
- 见#2
要生成服务器证书,你可以这样做
/opt/jdk1.7.0_40/bin/keytool -genkey -alias tomcat -keypass mypassword -keystore keystore.key -storepass mypassword -keyalg RSA
然后你可能需要添加一些步骤来配置您的网络服务器。您还没有指定任何,但如果你是使用Tomcat,你会添加一些像这样server.xml中
<Connector
port="8443"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="/path.to.your.keystore/keystore.key"
keystorePass="mypassword" />
要在客户端导入证书,你可以打开用firefox登录页面,右键单击页面并打开“查看页面信息”,然后转到“安全”选项卡,然后单击“查看证书”,单击“详细信息”,然后单击“导出”。
默认是X.509 PEM,这是确定的。让我们假设你已经将文件保存为“TomcatUser.pem.x509”,您可以选择存储在格式的Java能够理解一个密钥证书,就这样
/opt/jdk1.7.0_40/bin/keytool -import -file TomcatUser.pem.x509 -keystore ~yourUser/MyLocalKeypass -storepass xyz
最后,您的客户将需要像这样
System.setProperty("javax.net.ssl.trustStore","~yourUser/MyLocalKeypass");
System.setProperty("javax.net.ssl.trustStorePassword","xyz");
来源
2014-02-02 15:37:50
Leo
感谢您抽出宝贵时间来回答,狮子座。 – felixthecar
我花了很多时间自己弄清楚这个路线图,没有理由浪费同一时间;-) – Leo