Tag: ssl

在ssl(ldaps)的支持下连接活动目录

我试图在ssl的支持下与活动目录连接。 我尝试了以下网站的步骤。 http://confluence.atlassian.com/display/CROWD/Configuring+an+SSL+Certificate+for+Microsoft+Active+Directory 当我尝试从java代码连接活动目录时,它会出现以下错误。 Exception in thread “main” javax.naming.CommunicationException: simple bind fail ed: 172.16.12.4:636 [Root exception is java.net.SocketException: Connection rese t] at com.sun.jndi.ldap.LdapClient.authenticate(Unknown Source) at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source) at com.sun.jndi.ldap.LdapCtx.(Unknown Source) at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source) at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source) at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown Source) at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown Source) at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) at javax.naming.InitialContext.init(Unknown Source) at javax.naming.InitialContext.(Unknown Source) at […]

将SSLContext默认值替换为自己的实现和信任管理器

根据Jcs( HttpUnit WebConversation SSL问题 )的答案,我试图用自己的信任管理器替换SSLContext.getDefault() 。 SSLContext ssl = SSLContext.getDefault(); ssl.init(null, new X509TrustManager[]{new AnyTrustManager()}, null); ssl.setDefault(ssl); AnyTrustManager(): import java.security.cert.X509Certificate; import javax.net.ssl.X509TrustManager; public class AnyTrustManager implements X509TrustManager { X509Certificate[] client = null; X509Certificate[] server = null; public void checkClientTrusted(X509Certificate[] chain, String authType) { client = chain; } public void checkServerTrusted(X509Certificate[] chain, String authType) { server = […]

SSLHandshakeException:证书中的主机名不匹配

我正在编写一个系统,必须将一个多部分发布到服务器(一个名为ARX的第三方程序,当前在开发期间在localhost上运行),该服务器具有自签名证书。 我试图找到它的证书,但只能找到三个不同的jks文件; server.jks , servertrust.jks和serverca.jks 。 我试图使用每个jks文件的System.setProperty(“javax.net.ssl.trustStore”, “Program Files\\\\jksfile”) 。 然而; 当我这样做时,我收到以下错误: 证书中的主机名不匹配:!= 。 我已经在stackoverflow上浏览了大量类似的问题,试图了解如何解决这个问题,但我无法解决我的问题。 有什么建议么? 非常感谢所有帮助。

Java – javax.net.ssl.SSLPeerUnverifiedException:peer未经过身份validation

我正在尝试使用自己的SSL客户端连接到我自己的SSL服务器,但是我收到以下错误: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at sun.security.ssl.SSLSessionImpl.getPeerCertificateChain(SSLSessionImpl.java:420) at server.run(Server.java:70) at server.main(Server.java:22) 我在stackoverflow上搜索了同样的问题,但我只能找到在Apache或其他HTTPS“系统”中使用它的人。 这是我的服务器代码: /* Server SSL */ import javax.net.ssl.*; import java.io.*; import java.net.InetAddress; import java.security.KeyStore; //import java.security.cert.X509Certificate; import java.util.Date; import javax.security.cert.X509Certificate; class server { ObjectOutputStream out; ObjectInputStream in; public static void main(String[] args) { new server().run(); } void run() { Date date = new Date(); […]

带有效证书的spring boot https获取ERR_SSL_VERSION_OR_CIPHER_MISMATCH,自签名工作正常

我正在运行Spring Boot 1.4.0.RELEASE。 我从我的IT部门获得了有效的证书。 我使用IT_cert.cer生成了一个tomcat keystore.jks文件 keytool -keystore tomcat-keystore.jks -storepass password -import -alias “tomcat” -file it_issued_cert.cer 配置我的application.yml打开SSL server: context-path: /uaa port: 9999 ssl: enabled: true key-store: classpath:tomcat-keystore.jks key-store-password: password key-password: password enabled-protocols: TLSv1.2 # make sure only to use the latest TLS version 用于签署证书的算法是 Signature algorithm name: SHA256withRSA 当我运行spring-boot应用程序时,它启动并找到我的证书。 当我在我的HTTPS端口上使用chrome时,浏览器不再出现“不受信任”警告。 但现在有一个来自Chrome和IE11的ERR_SSL_VERSION_OR_CIPHER_MISMATCH声称我可能正在使用RC4加密…… 我已经尝试指定低于TLSv1.2的非安全协议并采用默认值..但它们都会导致相同的错误。 我相信最新的Chrome / IE11有TLSv1.2所以我对浏览器的错误感到困惑。 […]

如何以编程方式添加自签名证书以从java代码发出HTTPS请求?

以下代码片段是从HTTP URL获取JSon响应: private static void getJson(String location) { try { try { createSSLSocket(); URL url = new URL( “https://abc.com/key/one”); HttpURLConnection conn = (HttpURLConnection) url .openConnection(); conn.setRequestMethod(“GET”); conn.setRequestProperty(“Accept”, “application/json”); if (conn.getResponseCode() != 200) { throw new RuntimeException(“Failed : HTTP error code : ” + conn.getResponseCode()); } BufferedReader br = new BufferedReader(new InputStreamReader( (conn.getInputStream()))); String output; System.out.println(“Output […]

Java服务器自签名证书+客户端证书和SSL – 连接重置

(我已经问过类似的问题了 ,事实certificate我的客户端密钥没有被加载,但我只有一个例外,所以我发布了另一个问题。) 我正在连接到成功之前使用的Web服务,但现在他们已经更改了主机名并向我发送了两个.pem文件; 一个是CA,另一个是我的新客户证书。 (我正在使用Java 1.5,Spring + Spring Web Services和Apache httpclient,但我怀疑我的问题是证书,密钥和SSL本身。) 我已经导入了两个.pem文件,以及我从Firefox导出到我的cacerts的主机.crt。 但是,由于我遇到这个exception,我显然做错了什么: org.springframework.ws.client.WebServiceIOException: I/O error: Connection reset; nested exception is java.net.SocketException: Connection reset Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:284) at com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:396) at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:348) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:720) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:619) at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:502) at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1973) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993) […]

无法将证书导入java控制面板

我正在尝试将自签名证书导入java控制面板中的受信任证书。 它位于安全选项卡 – >管理证书下。 无论我在密钥库上设置的密码有多简单,导入程序总是告诉我输入后我的密码无效。我也尝试更改证书类型但没有运气..我试了所有这些。 以下是我用来创建文件的简单步骤 keytool -genkey -keyalg RSA -keysize 2048 -keystore test_keystore.jks -alias test 然后我生成我的CSR文件,java控制面板将其作为输入 keytool -certreq -alias test -keystore test_keystore.jks -file test_certificate_request.csr 由于这只是一个测试,我设置的密码非常简单,所以它不是使用错误密码或输入错误的问题。 然而,每当我导入test_certificate_request.csr文件时,我创建它就会告诉我密码无效。 如果重要,这里是我点击“更多信息”按钮时从导入程序生成的完整strack跟踪。 java.io.IOException: toDerInputStream rejects tag type 45 at sun.security.util.DerValue.toDerInputStream(Unknown Source) at sun.security.pkcs12.PKCS12KeyStore.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at com.sun.deploy.panel.CertificatesDialog.importPKCS12Certificate(Unknown Source) at com.sun.deploy.panel.CertificatesDialog.importButtonActionPerformed(Unknown Source) at com.sun.deploy.panel.CertificatesDialog.access$200(Unknown Source) at com.sun.deploy.panel.CertificatesDialog$4.actionPerformed(Unknown Source) […]

使用SSL加密和NTLM身份validation的HttpClient失败

我正在尝试在使用SSL加密(https)的Sharepoint 2010服务器上执行简单的REST调用,以及NTLM身份validation。 当服务器设置为不需要SSL(仅用于测试,服务器将需要生产中的SSL)时,我的NTLM身份validation和后续REST调用可以正常使用HttpClient。 但是,启用SSL后,身份validation将不再有效。 这是SSL处理的代码(设置为接受所有证书): SSLContext sslContext = SSLContext.getInstance(“TLS”); // set up a TrustManager that trusts everything sslContext.init(null, new TrustManager[] { new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) { } public void checkServerTrusted(X509Certificate[] certs, String authType) { } } }, new SecureRandom()); SSLSocketFactory sf = new […]

为Eclipse本身(平台)启用控制台日志记录

我在使用JVM / JRE和Eclipse本身时遇到了麻烦。 我在Windows 8.1下使用IBM JVM运行Juno版本。 当我尝试从https P2 URL访问/安装新软件时,收到以下错误消息: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: No trusted certificate found 我不完全确定问题是什么,但我认为它可能与我的jvm中的cacerts有关。 但是,我已将其替换为function系统中的cacerts文件,我仍然遇到同样的问题。 我认为在我的eclipse.ini中添加-Djavax.net.debug=true会向我显示其他调试信息,但是从命令行启动eclipsec.exe不会在命令提示符窗口中打印出任何内容。 启用/启动Eclipse的正确方法是什么,以便我可以在命令窗口中看到调试日志/跟踪/等? 或者是否有另一种尝试和调试此问题的方法?