我有一个Java Applet,需要访问客户端的本地文件系统.我为自己创建了一个简单的证书(它未经Verisign,Commodo认证,......).我使用以下模板签署了jar:
del \Users\koalabruder\.keystore
"C:\Program Files\Java\jdk1.7.0_45\bin\keytool" -genkey -alias %1 -keypass kp -dname "cn=inin" -storepass ab987c
"C:\Program Files\Java\jdk1.7.0_45\bin\jarsigner.exe" -storepass abc -keypass kp %2 %1
"C:\Program Files\Java\jdk1.7.0_45\bin\keytool" -export -storepass abc -alias %1 -file %3
Run Code Online (Sandbox Code Playgroud)
我有"没有签名证书"的简单安全警告已经存在多年,并不是我的问题.
我的问题是,该安全警告改变,因为在过去的Java更新之一:
此应用程序将在未来的Java安全更新中被阻止,因为JAR文件清单不包含Permissions属性.请联系发布者以获取更多信息.
这是什么意思?我该如何解决?我必须购买证书吗?我是否必须修复Manifest(MANIFEST.MF)?什么是Permission属性?
更新:这是我的jar文件中的清单
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Application-Name: inin
Permissions: all-permissions
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Name: net/inin/transfer/ul/UlPanel.class
SHA-256-Digest: asdfasddddddddddddddddddddddddddddddddd=
Run Code Online (Sandbox Code Playgroud) 有谁知道如何禁用Firefox的安全警告:
Although this page is encrypted, the information you have entered is to be sent over an unencrypted connection and could easily be read by a third party.
Are you sure you want to continue sending this information?
Run Code Online (Sandbox Code Playgroud)
我把一切都security.warn弄错了about:config.我仍然得到恼人的弹出窗口.
谢谢您的帮助.
尽管在Windows 8上使用带有有效时间戳服务器和证书的signtool成功签署了我的C++应用程序,但当我(本地)或我的用户(远程)尝试运行应用程序时,Windows会显示以下消息:
打开文件 - 安全警告我们无法验证是谁创建了此文件.您确定要运行此文件吗?
我使用signtool用魔岛证书,并sign与选择/f,/p以及/tr.我确信签名是成功的,因为它删除了我的用户的大多数运行时安全警告.
'安全警告'对话框:

我们的应用程序中很少有客户在运行Google安全检查时开始看到此“删除危险访问”警告?我们的应用需要访问用户的Gmail(Gmail API),并且已经实现了官方文档中提到的所有良好做法。我们该如何解决?
我有这种情况:
我以为没有办法以自动化的方式使用Outlook发送电子邮件(在屏幕锁定的用户登录的无人值守的盒子上).我尝试了许多不同的方法,但始终会收到安全警告消息.我怎样才能解决这个问题?
我已经在这个有用的网站上尝试过所有内容并删除了每个选项,如下所示:
策略
理想情况下,自动化Outlook的应用程序应该避免触发这些安全提示的代码.
这正是我最终做的事情(请参阅下面的答案),这就是为什么该页面上的所有其他选项都无关紧要的原因.我们一个接一个地拿走它们:
发送消息
如果您的目标只是创建和发送电子邮件,则根本不需要使用Outlook对象.Microsoft提供了用于Windows库的CDO,用于使用SMTP创建和发送邮件.使用此库完全绕过Outlook和MAPI,并且不会触发安全提示.有关代码示例,请参阅...
SMTP.NO-GO.网络政策不允许.
对于可能触发安全提示的所有代码,请使用扩展MAPI而不是Outlook对象,简单MAPI或CDO 1.21.
扩展MAPI可能会起作用,但它非常繁琐且冗长,并且涉及大量C/C++代码(这个问题没有主题;见上文),并且似乎无法在不提示用户输入密码的情况下使用它.
对于可能触发安全提示的所有代码,请使用第三方库 - Redemption或MAPI33.这种方法比使用扩展MAPI更容易,扩展MAPI具有陡峭的学习曲线,几乎同样安全.这些库还提供了其他功能来帮助Outlook代码项目.
第三方图书馆的问题有四个方面: - 它们需要花钱; - 即使它们是免费的,它们也会引入许可问题(某些组织需要在允许软件进入生态系统之前对律师进行大量审查); - 大多数环境中,整个问题甚至是一个问题,用户无法在Outlook选项中禁用编程访问警告.嗯,那些可能的案例是什么?可能是...... 企业环境?在企业环境中采购软件需要花费相当长的时间,除非使用它的成本节省超过数百万美元,否则不切实际.但是,如果需要软件采购,可以进行许多实际的流程改进,这些改进不会产生高成本节省,但是如果需要软件采购,则采购第三方软件的成本和成本将比节省的总成本多. - 网络管理员可能不信任该软件驻留在系统上,因为它可能用于恶意目的.
使用您的应用程序部署一个工具来抑制安全提示.
这假设需要抑制 OMG提示,在我的情况下,它不是,只是发送一个简单的电子邮件(请参阅我的回答).
对于Outlook 2007,请确保计算机正在运行最新的防病毒应用程序,并使用Outlook对象执行所有编码,从而避免使用CDO 1.21和简单MAPI代码.
病毒扫描程序是最新的,但更改其版本或供应商完全不受我的控制,并且Outlook无法识别它.它说:"防病毒状态:无效.此版本的Windows支持防病毒检测,但未找到防病毒软件."
在Outlook自定义表单代码,Outlook VBA代码和COM加载项中,从VBA或加载项体系结构提供的Outlook.Application对象派生所有对象.例如,请参阅下面的示例VBA"运行脚本"规则过程.
有趣,可能有用,但不是必需的.这会在Outlook中设置规则以便部署软件时产生不必要的依赖性,从而使部署变得复杂.
部署"信任"某些COM加载项或允许所有应用程序对某些功能具有不受限制访问权限的Outlook安全设置,例如访问地址.在Outlook 2007之前的版本中,这需要Microsoft Exchange Server.对于Outlook 2007,请参阅下面有关特定于版本的注意事项的部分.
繁琐:安装COM加载项需要管理访问权限,而某些组织的管理访问权限很难实现.
在Exchange是电子邮件服务器的企业环境中,可以通过WebDAV API从Exchange 2000开始直接访问服务器上的数据,从Exchange 2007开始,通过Exchange Web服务.
在我的环境中禁用,可能是其他人.
在企业环境中,管理员可以选择放宽部分或全部用户的Outlook安全性.
当然,但这需要与网络团队进行沟通/协调/合作.如果管理访问权限不可用于安装COM插件,则它也可能不适用于放松组策略.
当用户启动具有宏和vba的Access 2007数据库时,将显示安全警告.我希望用户处理此警告,因此如果未启用内容,则用户应该无法使用该数据库.
现在我使用一个名为AutoExec(打开一个像菜单一样工作的表单)的宏,并在用户处理安全警告之前运行该宏.但我想检查内容是否已启用,如果没有,我将显示一个表单,通知用户他们应该启用内容.
所以我实际要求的是我该怎么做:
在IE 8中,当我尝试从在线商店门户网站的http页面登陆https时,我收到以下错误消息.如果我在IE中更改设置,它将不会提示消息.但是因为它是一个浏览器设置,我们可以要求每个客户这样做. alt text http://img109.imageshack.us/img109/2406/securityj.jpg
我们可以做些什么来在IE中不显示此消息.?
我工作的公司有一个小程序,需要特殊访问客户机,所以每个Jar文件都是以数字方式签名的.applet和公司的Web应用程序使用javascript进行交互.
问题是第一次通过javascript使用applet时,Java会抛出一个Warnign Security弹出窗口,要求用户"允许"或"不允许"从网站访问applet.
我检查过Oracle的指南,对applet和Manifest参数进行数字签名,但是我无法删除安全警告.此外,每次我们测试应用程序时,我们都会通过Java控制面板清除浏览器的缓存和Java缓存.我们在Windows 7和8下工作.
以下是主applet jar中Manifest文件的示例:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Trusted-Library: true
Application-Library-Allowable-Codebase: one.developdomain.net two.developdomain.net *.developdomain.net productiondomain1.net productiondomain2.net productiondomain3.net
Trusted-Only: false
Built-By: My Name
Application-Name: My Application Name
Permissions: all-permissions
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Caller-Allowable-Codebase: one.developdomain.net two.developdomain.net *.developdomain.net productiondomain1.net productiondomain2.net productiondomain3.net
Codebase: one.developdomain.net two.developdomain.net *.developdomain.net productiondomain1.net productiondomain2.net productiondomain3.net
Name: services/xmpp/ChatPanel$4.class
SHA1-Digest: 7On19s6cztysSsrtARTlT5g1R8U=
....
Run Code Online (Sandbox Code Playgroud)
以下是用于部署applet的JNLP文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="launch-1.3.4.jnlp">
<information>
<title>Application Title</title>
<vendor>Our Company</vendor>
<homepage href="http://www.ourdomain.net" />
</information>
<security>
<all-permissions/>
</security>
<update check="always" policy="always" />
<resources …Run Code Online (Sandbox Code Playgroud) 如果您转到https://developer.mozilla.org/en-US/docs/Web/API/Blob#creating_a_blob中的“创建 blob”示例,您最终会得到一个以“blob:https:”开头的 URL //”,但浏览器将站点标记为不安全:

需要什么条件才能将其标记为安全?
为了给出我正在做的事情的背景:我有一个角度应用程序,可以在新选项卡中从 Base64 数据打开 PDF,并且可以同时打开任意数量的 PDF。
security-warning ×10
applet ×2
java ×2
security ×2
blob ×1
browser ×1
code-signing ×1
firefox ×1
gmail-api ×1
google-api ×1
google-oauth ×1
https ×1
jar ×1
javascript ×1
manifest ×1
mercurial ×1
outlook ×1
vba ×1
vbscript ×1
windows ×1