我需要在用Javascript编写的Adobe-AIR应用程序的iFrame中打开一个特定的SSL安全站点。
出于这个原因,我构建了一个小型测试应用程序,它在iFrame中打开网站 - 这很好用,但不接受服务器证书。弹出窗口显示并提示用户接受不受信任的证书。 服务器证书有效,由Trustcenter颁发,默认情况下在所有主要浏览器(Webkit,IE,FF,...)中被接受。那么为什么会这样呢?
为了确保服务器证书不是问题,我实施了另外两个相当常见的站点,只是为了查看他们的证书是否被接受。
嗯..我只需要我的应用程序接受我自己的服务器的ssl证书。 所以这是我的问题:如何让我的应用程序信任“它是家庭服务器”。
提前感谢您的意见。
编辑: 这是一些示例代码:
<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>
答案 0 :(得分:1)
您遇到的可能是“同源政策”。 也许adobe.com有效,因为核心组件已预先加载了adobe.com的来源?
在测试中确保iframe的服务器实际上与外部HTML页面相同。
这似乎是您如何配置这些特殊情况: http://livedocs.adobe.com/flex/3/html/help.html?content=ProgrammingHTMLAndJavaScript_11.html
答案 1 :(得分:1)
我认为这是Ubuntu 64-Bit上的AIR中的一个错误。当我在Vista,Win7或MacOS上测试应用程序时,该应用程序不会要求提供证书。