代码之家  ›  专栏  ›  技术社区  ›  Jan.

如何在AIR应用程序中添加对特定SSL证书的支持

  •  2
  • Jan.  · 技术社区  · 14 年前

    我需要在用Javascript编写的Adobe AIR应用程序的iFrame中打开一个特定的SSL安全站点。

    出于这个原因,我构建了一个小的测试应用程序,它在iFrame中打开站点-这很好,但是服务器证书不被接受。将显示一个弹出窗口,提示用户接受不受信任的证书。 服务器证书有效,由Trustcenter颁发,默认情况下在所有主要浏览器(Webkit、IE、FF…)中都被接受。为什么会这样?

    所以我的问题是:如何让我的应用程序信任“它是家庭服务器”。

    提前感谢您的意见。

    编辑: 下面是一些示例代码:

    <html>
    <head>
        <title>Prototype 1</title>
        <link href="sample.css" rel="stylesheet" type="text/css"/>
        <script type="text/javascript" src="lib/jquery/jquery-1.4.2.min.js"></script>
        <script type="text/javascript">
            var fbOpen = 0;
            function drawFb(link, sbRoot) {
    
                if (fbOpen != link) {
                    fbOpen = link;
                    $('#fbContainer').html('<iframe src="'+link+'" '
                                            +'width="700" height="480" ></iframe>')
                    $('#fbContainer').show('slow');         
                }
                else {
                    fbOpen = 0;
                    $('#fbContainer').hide('slow');     
                }
            }
        </script>
    </head>
    <body style="background-color:yellow;padding:1em;">
        <h3>Example</h3>
        <p>Hi there! This is a basic example showing the usage of Iframes...</p>
        <input type="submit" onclick="drawFb('https://www.example.com/');" value="Test Own" />
        <input type="submit" onclick="drawFb('https://www.google.de/');" value="Test G" />
        <input type="submit" onclick="drawFb('https://www.adobe.com/');" value="Test A" />
        <div id="fbContainer" style="display:none;width:700px;height:480px;border:1px dashed red;"></div>
       </body>
    

    2 回复  |  直到 9 年前
        1
  •  1
  •   Marsh Ray    14 年前

    你遇到的可能是“同源策略”。 也许adobe.com可以工作,因为核心组件已经预装了adobe.com的源代码?

    在测试中确保iframe的服务器实际上与外部HTML页面相同。

    这似乎是您配置这些异常情况的方式: http://livedocs.adobe.com/flex/3/html/help.html?content=ProgrammingHTMLAndJavaScript_11.html

        2
  •  1
  •   Jan.    14 年前

    我觉得这是Ubuntu 64位上的一个漏洞。当我在Vista、Win7或MacOS上测试应用程序时,应用程序不会要求证书。