Tag: ssl

node.js,带有SSL的socket.io

我试图让我的SSL证书运行socket.io但是,它不会连接。 我将我的代码从聊天示例中删除: var https = require('https'); var fs = require('fs'); /** * Bootstrap app. */ var sys = require('sys') require.paths.unshift(__dirname + '/../../lib/'); /** * Module dependencies. */ var express = require('express') , stylus = require('stylus') , nib = require('nib') , sio = require('socket.io'); /** * App. */ var privateKey = fs.readFileSync('../key').toString(); var certificate = fs.readFileSync('../crt').toString(); […]

SSL强加多less开销?

我知道没有一个硬性的答案,但是对于SSLencryption开销与未encryption的套接字通信,是否有一个通用的数量级估计近似值? 我只谈通信处理和连线时间,不包括应用程序级别的处理。 更新 有一个关于HTTPS与HTTP的问题 ,但我有兴趣在堆栈中寻找更低的。 (为了避免混淆,我用“数量级”这个词来代替;我把它当作非正式的术语,而不是正式的CompSci意义上的,当然,如果我正式的意思,作为一个真正的极客,十进制!;-) 更新 根据每个请求的评论,假设我们正在讨论长连接上的大尺寸邮件(范围从1k到10k)。 所以连接build立和数据包开销并不重要。

贝宝访问 – SSL证书:无法获得本地发行人证书

我正在使用cUrl和PHP向服务器发送请求(用于贝宝访问) 贝宝开发者网站从未提及使用PayPal访问API需要SSL证书,但是我用来请求令牌的代码如下: $options = array( CURLOPT_URL => $url, CURLOPT_POST => 1, CURLOPT_VERBOSE => 1, CURLOPT_POSTFIELDS => $postvals, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSLVERSION => 3 ); curl_setopt_array($ch, $options); $response = curl_exec($ch); echo curl_error($ch); 这个回声输出以下错误: SSL certificate problem: unable to get local issuer certificate 我的问题是: 1)如果我只需要获取用户电子邮件,是否需要SSL才能使用PayPal访问? 2)如果我不需要SSL为什么这个错误发生? PS:端点如下: https : //www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/tokenservice

如何在.NET中禁用SSL回退并仅使用TLS进行出站连接? (贵宾犬缓解)

我正试图减轻我们对Poodle SSL 3.0 Fallback攻击的脆弱性。 我们的pipe理员已经开始禁用SSL,而使用TLS来连接我们的服务器。 而且我们还build议我们的团队在他们的网页浏览器中禁用SSL。 我现在正在看我们的.NET代码库,它通过System.Net.HttpWebRequest启动与各种服务的HTTPS连接。 我认为,如果这些连接允许从TLS到SSL的回退,那么这些连接可能容易受到MITM攻击。 这是我迄今为止确定的。 有人可以仔细检查一下,以证实我是对的吗? 这个漏洞是全新的,所以我还没有看到任何关于如何在.NET中缓解它的指导。 System.Net.Security.SslStream类的允许协议(在.NET中支持安全通信)是通过System.Net.ServicePointManager.SecurityProtocol属性为每个AppDomain全局设置的。 这个属性在.NET 4.5中的默认值是Ssl3 | Tls Ssl3 | Tls (虽然我找不到文档来支持它)。SecurityProtocolType是一个带有Flags属性的枚举,所以它是这两个值的一个按位或 。 您可以使用以下这行代码在您的环境中检查: Console.WriteLine(System.Net.ServicePointManager.SecurityProtocol.ToString()); 在应用程序中启动任何连接之前,应将其更改为Tls或Tls12 。 System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls; 重要说明:由于该属性支持多个按位标志,因此我认为SslStream在握手期间不会自动回退到其他未指定的协议。 否则,支持多个标志的意义是什么? TLS 1.0和1.1 / 1.2更新: 根据谷歌安全专家亚当·兰利(Adam Langley)的说法, 后来发现TLS 1.0如果执行不当 , 很容易受到POODLE的影响 ,所以你应该考虑专门转向TLS 1.2。

InsecurePlatformWarning:一个真正的SSLContext对象不可用。 这可以防止urllib3适当地configurationSSL

试图通过下面的代码通过python请求执行REST GET,我得到错误。 代码片段: import requests header = {'Authorization': 'Bearer…'} url = az_base_url + az_subscription_id + '/resourcegroups/Default-Networking/resources?' + az_api_version r = requests.get(url, headers=header) 错误: /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning 我的Python版本是2.7.3。 我试图安装urllib3和请求[安全]的一些其他线程build议,我仍然有同样的错误。 […]

如何在Android设备上安装可信CA证书?

我已经创build了自己的CA证书,现在我想将其安装在我的Android Froyo设备(HTC Desire Z)上,以便设备信任我的证书。 Android将CA证书存储在/system/etc/security/cacerts.bks Java密钥库中。 我将文件复制到我的电脑,使用portecle 1.5添加我的证书,并将其推回设备。 现在,Android似乎不会自动重新加载文件。 我已经阅读了几个博客文章,我需要重新启动设备。 这样做会导致文件被原来的文件覆盖。 我的下一个尝试是通过复制它并使用设置菜单中的相应选项从SD卡安装证书。 该设备告诉我,证书已经安装,但显然它不相信证书。 而且,当我试图将密钥库复制到我的电脑时,我仍然可以find原始的cacerts.bks 。 那么,在Android 2.2设备上将自己的根CA证书作为可信证书安装的正确方法是什么? 有没有办法做到这一点编程?

无法find要求的目标的有效证书path – 即使在导入证书后也是如此

可能重复: PKIXpathbuild立失败:无法find有效的证书path到请求的目标 我有一个Java客户端尝试访问具有自签名证书的服务器。 当我尝试发布到服务器时,出现以下错误: 无法find要求的目标的有效证书path 在对这个问题做了一些研究后,我做了以下工作。 将我的服务器域名保存为root.cer文件。 在我的Glassfish服务器的JRE中,我运行了这个:keytool -import -alias示例-keystore cacerts -file root.cer。 要检查证书是成功添加到我的cacert,我做到了这一点:keytool -list -v -keystore cacerts我可以看到证书是存在的。 然后,我重新启动了Glassfish并退休了。 我仍然得到相同的错误。 我有一种感觉,这是因为我的Glassfish实际上并没有阅读我已经修改的cacert文件,但也许还有一些。 有没有人有这个问题,可以推动我在正确的方向吗?

cURL错误60:SSL证书:无法获取本地颁发者证书

我在本地开发环境中使用WAMP,并试图收取信用卡,但收到错误消息: cURL错误60:SSL证书问题:无法获取本地颁发者证书 我在Google上search了很多,很多人build议我下载这个文件: cacert.pem ,把它放在某个地方,并在我的php.ini中引用它。 这是我的php.ini中的一部分: curl.cainfo = "C:\Windows\cacert.pem" 但是,即使重新启动我的服务器多次并更改path后,我也会得到相同的错误消息。 我使用Apache模块中的WAMP并启用了ssl_module。 从PGP扩展我有php_curl启用。 还是一样的错误信息。 为什么会这样呢? 现在我正在关注此修复: 如何修复PHP CURL Error 60 SSL 这表明我将这些行添加到我的cURL选项中: curl_setopt($process, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); curl_setopt($process, CURLOPT_SSL_VERIFYPEER, true); 我在哪里添加选项到我的cURL? 显然不是通过命令行,因为我的CLI没有find命令“curl_setopt” 编辑 这是我正在运行的代码: public function chargeStripe() { $stripe = new Stripe; $stripe = Stripe::make(env('STRIPE_PUBLIC_KEY')); $charge = $stripe->charges()->create([ 'amount' => 2900, 'customer' => Input::get('stripeEmail'), 'currency' => […]

Java SSLHandshakeException“没有共同的密码套件”

我正在使用SSLServerSocket来接受我的openSUSE服务器上的客户端连接,但是他们都不能连接。 我总是得到一个SSLHandshakeException,说no cipher suites in common 。 我已经激活了所有可能的套件,启用了多个协议,尝试了最新的Oracle JRE和openjdk。 另外,我在论坛和其他东西上跟着其他post,并“解锁”了Oracle的所有密码套件,并且改变了openjdk jre的设置,如下所示: 禁用: #security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg并启用: security.provider.9=sun.security.ec.SunEC 这是我如何初始化我的SSLServerSocket: System.setProperty("javax.net.ssl.keyStore", "./keystore"); System.setProperty("javax.net.ssl.keyStorePassword", "nopassword"); java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true"); // Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) { } public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String […]

我怎样才能通过SSL与SMTP发送电子邮件?

有没有一种方法使用.NET Framework通过端口465上的SSL SMTP服务器发送电子邮件? 通常的方式: System.Net.Mail.SmtpClient _SmtpServer = new System.Net.Mail.SmtpClient("tempurl.org"); _SmtpServer.Port = 465; _SmtpServer.EnableSsl = true; _SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password"); _SmtpServer.Timeout = 5000; _SmtpServer.UseDefaultCredentials = false; MailMessage mail = new MailMessage(); mail.From = new MailAddress(from); mail.To.Add(to); mail.CC.Add(cc); mail.Subject = subject; mail.Body = content; mail.IsBodyHtml = useHtml; _SmtpServer.Send(mail); 超时: System.Net Verbose: 0 : [1024] SmtpClient::.ctor(host=ssl0.ovh.net, port=465) […]