问题标签 [ssl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
13693 浏览

基于 SSL 的 Google 地图选项

我们最近发现 Google Maps API 不能很好地与 SSL 配合使用。很公平,但是其他人有效地使用了哪些选项来克服这个问题?

Maps API 是否可以通过 SSL (HTTPS) 工作?

目前,地图 API 无法通过安全 (SSL) 连接使用。如果您在安全站点上运行 Maps API,浏览器可能会警告用户屏幕上的非安全对象。

我们考虑了以下选项

  1. 拆分页面,以便信用卡收集(SSL 的要求)与 Google 地图不在同一页面上。
  2. 切换到另一个地图提供程序,例如 Virtual Earth。有传言说他们支持 SSL。
  3. 使用 IFRAME 玩花样。听起来很笨拙。
  4. 将呼叫代理到 Google。听起来开销很大。

是否还有其他选择,或者是否有人对我们考虑过的选项有深入了解?

0 投票
6 回答
20945 浏览

如何将 SSL 添加到使用 httplistener 的 .net 应用程序 - 它*不会*在 IIS 上运行

最近的粗体编辑 我正在使用 .netHttpListener类,但我不会在 IIS 上运行此应用程序,也不会使用 ASP.net。这个网站描述了实际使用什么代码来实现与 asp.net 的 SSL,并且这个网站描述了如何设置证书(虽然我不确定它是否只适用于 IIS)。

类文档描述了各种类型的身份验证(基本、摘要、Windows 等)——它们都没有提到 SSL。它确实说如果使用 HTTPS,则需要设置服务器证书。这将是一个单行属性设置并HttpListener计算其余部分吗?

简而言之,我需要知道如何设置证书以及如何修改代码以实现 SSL。

虽然在我尝试访问 HTTPS 时没有发生这种情况,但我确实注意到我的系统事件日志中有一个错误 - 源是“Schannel”,消息的内容是:

尝试访问 SSL 服务器凭证私钥时发生致命错误。从加密模块返回的错误代码是 0x80090016。

编辑:
到目前为止采取的步骤

  • 在 C# 中创建了一个适用于 HTTP 连接的有效 HTTPListener(例如“ http://localhost:8089/foldername/
  • 使用 makecert.exe 创建证书
  • 使用 certmgr.exe 添加了要信任的证书
  • 使用 Httpcfg.exe 监听测试端口(例如 8090)上的 SSL 连接
  • 通过 listener.Prefixes.Add( https://localhost:8090/foldername/ ")将端口 8080 添加到 HTTPListener ;
  • 在浏览器中测试 HTTP 客户端连接,例如 ( http://localhost:8089/foldername/ ") 并收到正确的返回
  • 在浏览器中测试了一个 HTTPS 客户端连接,例如(http://localhost:8090/foldername/)并收到“数据传输中断”(在 Firefox 中)
  • Visual Studio 中的调试表明,当 HTTPS 连接启动时,接收请求的侦听器回调永远不会被命中 - 我看不到任何可以设置断点以更早捕获其他内容的地方。
  • netstat 显示监听端口对 HTTPS 和 HTTP 都是开放的。尝试连接后,HTTPS 端口确实会进入 TIME_WAIT。
  • FiddlerHTTPAnalyzer没有捕捉到任何流量,我猜它在这个过程中还远远不够显示在那些 HTTP 分析工具中

问题

  • 问题可能是什么?
  • 是否有一段.Net 代码我丢失了(这意味着我必须在 C# 中做更多事情,而不是简单地向指向 HTTPS 的侦听器添加一个前缀,这就是我所做的)
  • 在某处错过了配置步骤?
  • 我还能做些什么来分析问题?
  • 系统事件日志中的错误消息是否表明存在问题?如果是这样,它将如何修复?
0 投票
1 回答
3648 浏览

调试:IE6 + SSL + AJAX + post form = 404 错误

设置:
有问题的程序尝试通过 AJAX 调用将表单数据发布到与调用者相同的包中包含的目标过程。这是为使用安全连接 (HTTPS) 的站点完成的。这里使用的技术是PLSQLDOJO JavaScript 库。该开发工具基本上是一个文本编辑器

代码片段:

问题:
当使用 IE6(整个用户群都使用)时,从服务器发回的响应是 404 错误。

观察:
该程序在 Firefox 中运行良好。
调用过程不能针对同一包中的任何过程。
调用过程可以针对外部站点(http、https)。
包中不是表单数据帖子的其他 AJAX 调用工作正常。
我搜索了互联网并咨询了高级技能的团队成员,并没有发现任何令人满意的解决问题的方法。*在 Dojo 支持论坛上
尝试过问答。

问题:
您推荐哪些故障排除技术?
对于 HTTPS 分析,您推荐哪些故障排除工具?
关于问题可能是什么的任何假设?
对于不是完全(坏)黑客的解决方法有什么想法吗?

埃德。解决方案
lomaxx,感谢提琴手提示。您不知道获得它并将其用作调试工具有多棒。启动后,这是我发现的以及我如何修复它(至少在短期内):

在看到来自服务器的消息后,我又在 Fiddler 周围踢了一脚,看看我还能从中学到什么。发现有一个 WebForms 选项卡显示了 Web 表单中的值。你不知道吗,xxx_DISPLAYED_上面的“”字段就在里面。

我还不明白为什么这些字段存在,因为我没有在 WebPLSQL代码中明确创建它们。但我现在确实明白目标过程必须将它们作为参数包含在内才能正常工作。同样,这仅适用于IE6我,因为 Firefox 运行良好。

好吧,这是短期的答案并破解它来修复它。希望在这个领域做更多的工作能够更好地理解这里的基本原理。

0 投票
11 回答
439431 浏览

如何将 HTTPS 重定向到 HTTP?

如何将 HTTPS 重定向到 HTTP?也就是说,与每个人(似乎)教的相反。

我有一个 HTTPS 上的服务器,我为此支付了 SSL 认证,还有一个镜像,我没有,只是为了紧急情况而保留,所以它不值得获得认证。

在我客户的桌面上,我有一些指向http://production_serverhttps://production_server(都有效)的快捷方式。但是,我知道如果我的生产服务器出现故障,那么 DNS 转发就会启动,并且那些在快捷方式上有“https”的客户端将盯着https://mirror_server(这不起作用)和一个巨大的 Internet Explorer 7 红屏不安为我的公司。

不幸的是,我不能只在客户端级别进行切换。这些用户是非常计算机文盲:并且很可能会因为看到 HTTPS“不安全”错误而吓坏了(尤其是现在 Firefox 3 和 Internet Explorer 7 处理它的方式:完全停止,谢天谢地,但在这里没有帮助我哈哈)。

容易 找到 http->https 重定向的Apache 解决方案,但对于我来说,我不能做相反的事情。

想法?

0 投票
2 回答
3229 浏览

IIS 5.1 中的 HTTPS

IIS 5.1在我的开发计算机上使用 Windows XP。我打算在我公司的 Web 服务器上设置 HTTPS,但我想先在本地尝试,然后再在生产系统上进行。

但是当我进入我网站配置部分的目录安全选项卡时,“安全通信”组框被禁用。我需要做些什么来启用这个组框吗?

0 投票
4 回答
24173 浏览

代理服务器可以缓存 SSL GET 吗?如果没有,响应正文加密就足够了吗?

(||any) 代理服务器可以缓存客户端通过 https 请求的内容吗?由于代理服务器看不到查询字符串或 http 标头,我认为他们看不到。

我正在考虑一个桌面应用程序,由他们公司代理背后的许多人运行。这个应用程序可以访问互联网上的服务,我想利用内置的互联网缓存基础设施进行“读取”。如果缓存代理服务器无法缓存 SSL 传递的内容,那么简单地加密响应的内容是一个可行的选择吗?

我正在考虑通过 http 请求我们希望可缓存的所有 GET 请求,并使用非对称加密对正文进行加密,其中每个客户端都有解密密钥。每当我们希望执行不可缓存的 GET 或 POST 操作时,都将通过 SSL 执行。

0 投票
4 回答
11899 浏览

如何创建自签名 SSL 证书以在测试 Web 应用程序时使用

如何为 Apache 服务器创建自签名 SSL 证书以在测试 Web 应用程序时使用?

0 投票
9 回答
271711 浏览

有没有办法让 Firefox 忽略无效的 ssl 证书?

我正在维护一些 Web 应用程序。开发和 QA 环境使用无效/过时的 ssl 证书。

虽然这通常是一件好事,但 Firefox 让我点击了十几次来接受证书,这很烦人。

是否有配置参数使 Firefox(也可能是 IE)接受任何 ssl 证书?

编辑:我已经接受了该解决方案,该解决方案有效。但是感谢所有建议使用自签名证书的人。我完全清楚,公认的解决方案给我留下了一个巨大的安全漏洞。尽管如此,我还是懒得更改所有应用程序和所有环境的证书......

但我也强烈建议任何人启用验证!

0 投票
2 回答
1957 浏览

为什么我不能用 Perl 的 AuthCAS 连接到我的 CAS 服务器?

我正在尝试使用现有的 CAS 服务器对 Perl CGI Web 脚本的登录进行身份验证,并且正在使用AuthCAS Perl 模块(v 1.3.1)。我可以连接到 CAS 服务器以获取服务票证,但是当我尝试连接以验证票证时,我的脚本从IO::Socket::SSL模块返回以下错误:

症状/测试:

  1. 如果我将生成的身份验证 URL 键入到 Web 浏览器的位置栏中,它会返回预期的 XML 片段。所以它不是一个糟糕的主机名。
  2. 如果我在不使用 AuthCAS 模块但使用 IO::Socket::SSL 模块直接查询 CAS 服务器以对生成的服务票证进行验证的情况下生成脚本,则 Perl 脚本将从命令行正常运行,但不能在浏览器中运行。
  3. 如果我将 AuthCAS 模块添加到第 2 项中的脚本中,则该脚本不再在命令行上运行,并且在浏览器中仍然无法运行。

这是产生错误的基本脚本:

关于冲突可能在哪里的任何想法?


错误来自引用的片段 Cebjyre 正上方的行,即

即套接字创建。所有输入参数都正确。我已经编辑了模块以放入调试语句并在调用之前打印出所有参数,它们都很好。看起来我将不得不更深入地研究 IO::Socket::SSL 模块。

0 投票
5 回答
14701 浏览

如何支持 SSL 客户端证书身份验证?

我想做 myopenid 做的事情——一旦你登录了,你可以点击一个生成 SSL 证书的按钮;浏览器然后下载此证书并存储它。当您稍后返回 yourid.myopenid.com 时,您的浏览器可以使用其存储的证书进行身份验证,因此您不需要密码。

所以我的问题是让这个工作需要什么?如何生成证书?将它们呈现给我后如何验证它们?

我的堆栈是使用Passenger 的Apache 上的Rails,但我并不太特别。