小编Mik*_*ike的帖子

如何控制Tomcat可用的SSL密码

我无法在Tomcat中禁用弱SSL密码,如许多地方所述,例如http://www.techstacks.com/howto/secure-ssl-in-tomcat.html.
目前,我的连接器如下所示:

..Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Programs\apache-tomcat-6.0.33\keystore" keystorePass="nn"/>
Run Code Online (Sandbox Code Playgroud)

当我尝试连接(使用IE或ssldigger)时,我在Tomcat中收到以下错误:

java.lang.IllegalArgumentException: Unsupported ciphersuite  SSL_RSA_WITH_RC4_128_SHA
    at com.sun.net.ssl.internal.ssl.CipherSuite.valueOf(Unknown Source)
    at com.sun.net.ssl.internal.ssl.CipherSuiteList.<init>(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.setEnabledCipherSuites(Unknown Source)
    at org.apache.tomcat.util.net.NioEndpoint.createSSLEngine(NioEndpoint.java:1141)
    at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:1096)
    at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1315)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我删除了不受支持的密码(几乎是一个一个),而我唯一支持的密码似乎是SSL_RSA_WITH_RC4_128_MD5

另外,我假设一个不受支持的密码与Tomcats的特定密钥对无关,但更普遍地与广泛可用的密码有关.

这有什么不对?

java encryption ssl tomcat

9
推荐指数
1
解决办法
1万
查看次数

Java charset和Windows

我有一个Java程序在外部进程中运行msinfo32.exe(系统信息),然后读取msinfo32.exe生成的文件内容.当Java程序将文件内容加载到String中时,String字符是不可读的.要使String可读,我必须使用String(byte [] bytes,String charsetName)创建String,并将charsetName设置为UTF-16.但是,当在Windows2003的一个实例上运行时,只有UTF-16LE(小端)会产生可打印的字符串.

我怎样才能提前知道要使用哪种字符编码?

此外,任何有关该主题的背景信息将不胜感激.

java windows

4
推荐指数
1
解决办法
5457
查看次数

标签 统计

java ×2

encryption ×1

ssl ×1

tomcat ×1

windows ×1