Tag: ssl

javax.net.ssl.SSLHandshakeException:javax.net.ssl.SSLProtocolException:SSL握手中止:SSL库中的失败,通常是协议错误

我想在android中运行下面的代码 URLConnection l_connection = null; // Create connection uzip=new UnZipData(mContext); l_url = new URL(serverurl); if ("https".equals(l_url.getProtocol())) { System.out.println("<<<<<<<<<<<<< Before TLS >>>>>>>>>>>>"); sslcontext = SSLContext.getInstance("TLS"); System.out.println("<<<<<<<<<<<<< After TLS >>>>>>>>>>>>"); sslcontext.init(null, new TrustManager[] { new CustomTrustManager()}, new java.security.SecureRandom()); HttpsURLConnection .setDefaultHostnameVerifier(new CustomHostnameVerifier()); HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext .getSocketFactory()); l_connection = (HttpsURLConnection) l_url.openConnection(); ((HttpsURLConnection) l_connection).setRequestMethod("POST"); } else { l_connection = (HttpURLConnection) l_url.openConnection(); ((HttpURLConnection) […]

如何将HTTPSredirect到HTTP?

如何将HTTPSredirect到HTTP? 也就是说,每个人都教(什么)的相反。 我有一个HTTPS服务器,我已经为此支付了一个SSL证书,并且我没有为这个镜像服务,只是为了应付紧急情况,所以它不值得获得authentication。 在我的客户端的桌面上,我有一些快捷方式指向http://production_server和https://production_server (都可以)。 但是,我知道如果我的生产服务器出现故障,那么DNS转发就会启动,那些在其快捷方式上有“https”的客户端将会盯着https://mirror_server (不起作用)和一个胖胖的Internet Explorer我的公司7不安的红色屏幕。 不幸的是,我不能在客户端切换。 这些用户是非常计算机文盲:很可能会看到HTTPS“不安全”的错误(尤其是火狐3和Internet Explorer 7现在处理它的方式:全停止,谢天谢地,但不帮我在这里大声笑)。 为http-> httpsredirect 寻找 Apache解决scheme 非常容易 ,但是对于我来说,我不能做相反的事情。 想法?

使用Android的HTTPS GET(SSL)和自签名服务器证书

我已经查看了各种post,关于如何从使用自签名证书的服务器上通过Android上的HTTPS获取内容。 然而,他们似乎都没有工作 – 他们都没有取消 javax.net.ssl.SSLException:不可信的服务器证书消息。 不能将服务器修改为具有可信证书,也不能使服务器证书与服务器的IP地址匹配。 请注意,服务器将不会有一个DNS名称,它只会有一个IP地址。 GET请求看起来像这样: https://username:password@anyIPAddress/blabla/index.php?param=1&param2=3 我完全意识到这个解决scheme很容易出现中间人攻击等。 所以,解决scheme必须忽略证书中缺乏信任,并忽略主机名不匹配。 有没有人知道这个代码,使用Java for Android? 有很多尝试在stackoverflow.com上解释这个,以及大量的代码片段,但他们似乎并没有工作,没有人提供了一个解决这个问题的代码块,据我所知。 如果有人真的解决了这个问题,或者Android只是阻止不可信任的证书,那将会很有趣。

对.NET的HttpWebRequest / Response使用自签名证书

我试图连接到使用自签名SSL证书的API。 我这样做使用.NET的HttpWebRequest和HttpWebResponse对象。 我得到一个例外: 底层连接已closures:无法build立SSL / TLS安全通道的信任关系。 我明白这是什么意思。 我明白为什么 .NET感觉它应该警告我并closures连接。 但在这种情况下,我想只是连接到API,中间人攻击就该被诅咒。 那么,我如何去为这个自签名证书添加一个exception呢? 或者是告诉HttpWebRequest / Response不要validation证书的方法? 我该怎么做?

如何使用Curl和SSL和cookielogin

我一直在试图用curllogin到barnesandnoble.com手机网站,迄今为止还没有运气。 我没有任何错误地返回页面,并且将我的电子邮件默认再次login到login页面的电子邮件input表单框(从print $ result返回的表单中)。 相同的代码实际上可以让我正确地进入易趣通过更改LOGINURL指向易趣的login 唯一的区别是,barnesandnobles是https://和ebaylogin是http:// 另外,我相信barnes网站是asp / aspx,所以我不知道如何处理cookie和_state的不同 任何帮助将不胜感激,因为我一直在试图debugging过去16小时 另外,我的cookie.txt是可写和工作的 <?php $cookie_file_path = "C:/test/cookie.txt"; $LOGINURL = "https://cart2.barnesandnoble.com/mobileacct/op.asp?stage=signIn"; $agent = "Nokia-Communicator-WWW-Browser/2.0 (Geos 3.0 Nokia-9000i)"; $ch = curl_init(); $headers[] = "Accept: */*"; $headers[] = "Connection: Keep-Alive"; $headers[] = "Content-type: application/x-www-form-urlencoded;charset=UTF-8"; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL, $LOGINURL); curl_setopt($ch, […]

无法加载资源:net :: ERR_INSECURE_RESPONSE

有没有办法欺骗服务器,所以我没有得到这个错误: 内容被阻止,因为它没有被有效的安全证书签名。 我拉一个HTML网站的iframe到另一个网站,但我不断得到这个问题的标题中的控制台(铬)错误,并在Internet Explorer中说: 内容被阻止,因为它没有被有效的安全证书签名。

如何创build包含客户端证书链的BKS(BouncyCastle)格式的Java Keystore

我正在编写一个需要SSL客户端身份validation的Android应用程序。 我知道如何为桌面Java应用程序创build一个JKS密钥库,但是Android只支持BKS格式。 我试图创build密钥库结果的每一种方法导致以下错误: handling exception: javax.net.ssl.SSLHandshakeException: null cert chain 所以看起来客户端永远不会发送正确的证书链,可能是因为我没有正确地创build密钥存储。 我无法启动SSLdebugging,就像我可以在dekstop上一样,所以这使得这比应该更困难。 以下是创buildBKS 信任库的命令: keytool -importcert -v -trustcacerts -file "cacert.pem" -alias ca -keystore "mySrvTruststore.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-145.jar" -storetype BKS -storepass testtest 这是我试过的命令不能创build一个BKS客户机密钥库 : cat clientkey.pem clientcert.pem cacert.pem > client.pem keytool -import -v -file <(openssl x509 -in client.pem) -alias client -keystore "clientkeystore" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-145.jar" […]

有TLS 1.2的.NET实现吗?

由于我刚刚发现RFC 5425要求使用TLS 1.2,并且.NET还不支持,所以我想知道是否有RFC5246中定义的TLS 1.2协议的实现,可能是开源的。 谢谢。

当连接到gateway.sandbox.push.apple.com时,“verify error:num = 20”

我试图运行在iOS 6教程:1/2部分中的Apple推送通知服务中find的Ray Wenderlich教程。 我在本地目录中创build了AppID和SSL证书以及密钥和PEM文件。 之后,我开始testing证书是否正常工作,并从本地目录中调用以下命令: $ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem 这产生了很多的输出。 在输出的中间是以下内容: verify error:num=20:unable to get local issuer certificate verify return:0 这是一个错误,还是这是一个错误的testing? 如果出现错误,那么原因是什么?或者您会build议如何解决? 以下是完整的输出(less于证书数据): Enter pass phrase for PushChatKey.pem: CONNECTED(00000003) depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority – L1C verify error:num=20:unable to get local issuer certificate […]

如何在ssl时忽略证书检查

我试图find一种方法来忽略证书检查时请求一个Https资源,到目前为止,我在互联网上find了一些有用的文章。 但是我仍然有一些问题。 请查看我的代码。 我只是不明白代码ServicePointManager.ServerCertificateValidationCallback是什么意思。 什么时候可以调用这个委托方法? 还有一个问题,我应该在哪个地方写这个代码? 在ServicePointManager.ServerCertificateValidationCallback Stream stream = request.GetRequestStream()之前执行ServicePointManager.ServerCertificateValidationCallback之前吗? 请帮助我,谢谢。 public HttpWebRequest GetRequest() { CookieContainer cookieContainer = new CookieContainer(); // Create a request to the server HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_remoteUrl); #region Set request parameters request.Method = _context.Request.HttpMethod; request.UserAgent = _context.Request.UserAgent; request.KeepAlive = true; request.CookieContainer = cookieContainer; request.PreAuthenticate = true; request.AllowAutoRedirect = false; #endregion […]