嗨,我很感激有一个插件,可以让PGP到EDE,并直接在Mozilla中加密PGP加密的消息。
由于与美国出口限制相关的原因,从美国分发的mozilla原始源中不可能包含任何形式的加密安全性。当然,Netscape将为基于mozilla5.0浏览器的Navigator5.0浏览器制定自己的计划。有关更多信息,请参阅http://www.mozilla.org/projects/security/,尤其是news://news.mozilla.org/netscape.public.mozilla.crypto--没有理由不能独立开发和分发加密插件,因为这样做是合法的,不受限制。如果该新闻组中还没有关于mozilla邮件的PGP的讨论,去吧,开一家吧。
正如加密新闻组中所讨论的,我认为真正需要的是一个通用插件架构,允许第三方提供类似PGPplugin的东西(如果出口限制/专利问题阻止Mozilla或Netscape自己这样做的话)。如果我理解正确,用于接收邮件的这是MIME处理程序插件架构的一部分,但是没有类似的用于撰写邮件的插件架构。不管怎样,我发誓这是真的。
一些邮件程序只是使用stdin/stdout与PGP接口(即,您只需在首选项中输入PGP命令进行en-/解密,邮件就会通过它传递)。如果这是违反出口限制,我不知道…。但我知道,TkRat的加密是这样工作的。
将所有MailNews安全错误批量移动到新的安全:常规组件。MailNews以前的安全组件将被删除。
那么现在美国更加宽松的密码法规又是怎么回事呢?是否可以在开源的情况下包含密码(就像在GnuPG中一样)?
莱德,现在加入密码或密码粘合码可能是可以的。Mozilla.org可能需要向美国规章局(不知道它的名字)查询许可。然而。我建议只提交代码,然后让Mozilla.org解决问题。
应该总是有一个不包括任何加密的Mozilla版本可用,因为有些国家有使用限制,并且不能有任何加密。我之所以这样说,是因为我预计一旦实现,这将是一个所需的基本功能。
但我们要记住,这只是一个插件。您仍然需要拥有PGPkey、GPGP或类似的东西来创建和维护密钥。插件只是这样一个产品的一个界面,而且这些都已经被控制了。据我所知,PGPkey受到NAI使用的一项服务的保护,以确保您的主机名在美国。您还必须回答几个问题,以证明您是美国公民。你当然可以,但他们不会花太长时间找到你并起诉你。所以,我真的看不出为PGP外壳/界面提供插件会违反美国的出口法规。有人要吗?有人要吗?
此外,除了关于PGP的讨论(我似乎也有上一篇文章),人们甚至不能在Win32上使用PGPKeys应用程序,因为文本窗口是非标准的。难道没有人能做点什么吗?我知道为Netscape(4.x)创建插件几乎是不可能的,因为架构不允许这样做。没有人创建过(我在整个网络上搜索了很多次,什么也没有找到),当我自己创建一个时,我发现实际上没有这样做的接口,因为消息使用Composer编写并使用Navigator查看,而且由于它是由MIME类型驱动的,您将需要使用Text/纯文本或Text/html并测试关键字,但没有什么需要使用Composer功能真正加密/签名。消息窗口(或任何相关窗口)的接口将是很棒的,这样开发人员至少可以编写PGP插件。当前的方法真的很烦人,特别是在Unices中,您必须将文本复制到文件中,对其进行加密/签名,打开文件,复制文本,然后将结果粘贴到电子邮件中,覆盖之前编写的所有文本。目前Mozilla的安全性很好,但是S/MIME密钥很贵,我认为您真的应该提供一种方法来包含免费的PGP/GPG,更多的人无论如何都会使用这些免费的PGP/GPG来获得更多!蒂娅。
S/MIME的问题不在于密钥的成本(您可以在http://www.thawte.com),上免费获得密钥,但是您不能在您的机器上生成您自己的密钥。这是一件值得信任的事情。
>;mozilla当前的安全性很好,但S/MIME密钥昂贵。目前mozilla邮件新闻中不支持S/MIME,也没有计划在NS6中支持S/MIME。>;mozilla中有接口:libmime MIME转换器<;http://www.mozilla.org/mailnews/libmime-content-type-handlers.html>;inmozilla/mailnews/mime和泛型流转换器inmozilla/netwerk/Streamconv。前者在4.x中已经存在。
嗯,那么在Mozilla/NS6中不存在任何使用私人邮件的机制吗?这是明智之举。
杰瑞,是的,是的。问题是:否则你会削减什么?线程视图?搜索?过滤?
这就是我的观点。说到优先级,电子邮件中的个人隐私在Netscape中一直处于次要地位,在Mozilla中也是如此。这个应该在新闻组里。
我对实现这一点很感兴趣。据我所知,这不应该太难了。除了已经链接的libmime文档之外,还有其他相关信息吗?
奥托,Just<;http://lxr.mozilla.org/seamonkey/source/mailnews/mime/src/mimemsig.cpp>;和<;[email protected]>;(libmime的维护者)我不确定,什么是正确的实现策略。一个简单的破解方法是只使用libmime(Mimemsig),但目前最好的解决方案似乎是通过Netwerk<;->;PSM<;->;NSS中的libmime<;->;泛型流转换器路由它-显然工作量很大。我会在.crypto上询问PSM人员(特别是负责S/MIME的Christian Kaiser<;chrisk@netscape e.com>;)认为什么是最好的解决方案。
很抱歉发了垃圾邮件,但最近在这方面做了什么工作吗?我不得不说,身份验证和加密的需求是惊人的,即使只看这个错误的投票数也是如此。我认为这个功能的重要性可能被低估了。(当然,不是为了决定优先顺序!)致敬。
我们意识到这个漏洞对隐私的重要性。就我个人而言,我非常希望看到每封邮件都使用PGP,但这是一个很大的特点。目前,我们正忙于完成基本功能(如邮件阅读和写作)。如果有人需要帮助,尽管开口。
尽管对隐私很重要,但存在完全集成的PGP(orequev.)。出于身份验证的目的,设计对企业客户具有内在的价值。为企业客户提供密钥服务器服务,对网景公司具有非常重要的价值。特别是,这将提供极好的基本功能。我已经开始研究GnuPG的倒退,但这并不是很容易,而且很容易同时破译Mozilla邮件/新闻API。不幸的是,我既没有GnuPG编程经验,也没有Mozilla编程经验,但可以这么说,我打算试一试。
布莱恩,我想你还不需要看“每日邮报”的API。多哥最好的方法可能是将GPG连接到PSM中,并使其在应用程序界面中看起来类似于S/MIME。谢谢您的研究!
我已经在psm下开放了错误56052来处理优雅的pgp处理。至少已经为GnuPG和Mozilla之间的使用编写了一个补丁。更多信息即将公布。
达蒙:很酷。我认为DLL处理不需要由Windows指定--您是否考虑过使用NSPR的PR_FindSymbol和PR_FindSymbolAndLibrary?请参阅http://lxr.mozilla.org/mozilla/source/nsprpub/pr/src/linking/prlink.c#1112及更多相关内容。是否应将此错误重新分配给您?/be。
(长消息...抱歉)我为这个代码的意外和突然表示歉意。我作为Network Associates的开发人员为Mozilla开发PGP插件已经有一段时间了,直到今天才知道这个bug中详细介绍的工作。Jean-Francois Ducarroz<;ducarroz@netscape e.com>;指示我将差异和文件附加到此错误中,我已经这样做了。Jean-Francois现在显然是libmime模块的所有者,我编写的代码基本上添加了一个内容类型处理程序,并注册自身来处理多部分/加密、多部分/签名和纯文本。其想法是,代码扫描这些消息以查找PGP内容,如果找到任何内容,则尝试对其进行处理。如果没有,它将创建一个新的MIME对象并传递消息,暂时从上述类型中注销自身,以便默认处理程序将接管。我还为Composer窗口添加了一个覆盖,其中包含一个PGP菜单。这是messengercompe.xul文件中的硬编码引用。最后,为了加密和/或签名消息,我在nsMsgSend.cpp中的函数nsMsgComposeAndSend::DeliverMessage()中添加了代码,在发送之前获取编写器的最终输出,并应用适当的PGP操作。这是理查德·皮萨罗(Richard Pizzarro<;rhp@netscape e.com>;)推荐给我的,他是libmime的前所有者,我认为他是一名邮件/新闻架构师。如果这样做是错误的,我道歉。我官方关心的是向Mozilla添加代码,这些代码将与Network Associates在我们的PGP产品中提供的PGP插件接口。不过,如果能有一个足够通用的接口,让用户插入GPG或任何其他OpenPGP应用程序,还能正常工作,那当然是很好的,也是一个很大的奖励。我还想确保这项工作不会被拉向两个不同的方向。我已经开始和Jean-Francois Ducarroz合作了,但是我注意到他不在这个错误名单上,所以我想我们应该把他也包括在内。那样的话,工作就不会被拉向不同的方向。
我忘了提一下,这项工作还没有得到NAI的官方支持,所以请不要打扰NAI的任何人,只有我。谢谢.。:)。
戴蒙:谢谢你的历史。我将把这个bug重新分配给JF,但是你可以从他那里拿走,然后分配给你自己。重要的是要从[email protected]重新分配它,设置它的Target里程碑字段,否则就很好地拥有它。我已经通过设置里程碑关键字将其提名为mozilla1.0目标里程碑。mozilla.org绝对是开放插件API的领头羊,所以应该可以插入替代的PGP实现。我们需要其他人来着手处理您的修补程序,可能是在它签入之后。一个合法的缺点是:我注意到许多文件都有NPL1.1样板许可注释,少数文件没有许可(只有NAI版权声明),而且我没有查看所有文件。在我看来,所有文件都可以使用MPL1.1。Cc';讨价还价寻求建议。/BE。
我刚刚尝试在Linux上编译这段代码。在去掉源文件中的所有^M(它们包含转义换行符)并将以下代码添加到Makefile.in:exports=\nsPGPModule.h\nsIPGPModule.h\$(Null)之后,插件构建时没有任何问题。
Damon-感谢您实现此功能。您有什么建议或Mozilla的QA联系人来帮助您编写测试计划来测试Mozilla中的这一特殊功能吗?谢谢,丽莎。
再问一下布兰登关于许可的问题,除了网景,没有人应该使用网景公共许可证来编写他们的代码,因此您应该更改标题以删除npl填充。此代码可以(但不需要--见下文)在Mozilla Public License下获得许可;C/C++文件可以在<;http://www.mozilla.org/MPL/boilerplate-1.1/mpl.c>;.Damon,I;使用样板语言。我假设即使这不是官方的,也可以使用样板语言。NAI代码,您仍然是以NAI员工的身份创建它;我还假设您的雇主与NAI的协议是雇佣工作协议,根据该协议,您在NAI工作过程中开发的任何东西都将成为NAI的财产。假设我在这一点上是正确的,如果您使用MPL,则上述样板文本中的空格应按如下方式填充:*原始代码字段应包含PGP/GPG的插件接口(或准确描述您添加的内容的任何其他简短短语)。*初始开发人员字段应包含Network Associates,Inc.*创建者字段应包含Network Associates,Inc.*版权字段应引用Network Associates,Inc.(版权)字段应引用";Network Associates,Inc.。*贡献者线下不应有任何东西。如果其他人做出更改,则稍后会填写该文件;您可以将他们的姓名和电子邮件地址放在那里。然后,C/C++的完整MPL 1.1样板将是:/**此文件的内容受Mozilla Public*许可证版本1.1(";License";)的约束;除非遵守许可证,否则您不能使用此文件*。(C/C++的完整MPL 1.1样板应为:/**此文件的内容受Mozilla Public*许可证版本1.1(";License";)的约束。您可以从http://www.mozilla.org/MPL/获取*本许可证的副本**根据本许可证分发的软件按原样分发,不提供任何明示或暗示的担保。请参阅许可证下管理*权利和限制的特定语言的许可证。**原代码为PGP/GPG插件接口。**原始代码的最初开发者是Network Associates,Inc.。*Network Associates创建的部分是*版权所有(C)2001 Network Associates,Inc.。版权所有。**贡献者:*/(您可以根据需要对以上内容进行换行。)作为最后说明,NAI不会绝对肯定地使用MPL;它可以使用另一个开源许可证,只要它与MPL兼容即可。(顺便说一句,GPL不兼容。)。然而,如果NAI不想使用MPL,那么需要有人向[email protected]发送电子邮件,解释NAI想要做什么许可证,之后工作人员将就是否可以提供意见。
弗兰克,谢谢你的详细解释。我将按照您的建议更改页眉。据我所知,NAI对贡献给Mozilla的代码使用MPL没有问题,所以我将使用它。Boris,感谢您对在Linux上编译代码的评论。我会做适当的修改。正如您可能知道的,我正在Win32平台上开发此程序。我们绝对需要Linux(和其他UNIX)和Mac人员来确保代码编译,因为我自己没有资源来测试这一点。我将始终努力确保跨平台兼容性,但我无疑会错过一些东西。我还会确保下次在附加这些文件之前通过回车剥离器来运行它们。我非常肯定CVS会自动对文本文件进行行尾替换,所以希望这很快就会成为一个没有意义的问题。
使用REG
Damon,假设您没有与Mozilla开发人员密切合作,那么这段代码给我留下了深刻的印象。快速查看一下,您使用了大部分(有些自定义的)Mozilla资源(字符串函数、xpcom、xul等),这些资源不容易理解。我们早在10月份就讨论过pgp支持体系结构(请参阅news://news.mozilla.org/[email protected]>;及其线程),但我在这里没有注意到这一点。现在可能太晚了,但你可能想读一读,以防你看到一些现在并不太难做的改进。对我来说,保持编程界面和用户界面与加密方案(Open PGP(通过PGPor GPG)或S/MIME)无关尤其重要。如果现在太难了,我们以后总是可以改进的(我希望如此!)。当然很高兴看到一些OpenPGP支持!
感谢您的持续评论。我应该在这里附加更改,还是应该等待代码通过CVS签入,然后以这种方式提交更改?我不想耽误将它放入存储库的过程,但我也不想用一堆附件把这个bug搞得乱七八糟。
DGAL:请散开,bugzilla.mozilla.org有足够的磁盘空间。我们还需要以更肯定的方式进行一些审查和超级审查(例如,对于特定的补丁,请参见错误中的r=和sr=批准戳)。
.