问题标签 [smime]

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 投票
1 回答
1405 浏览

android - UnsupportedDataTypeException:MIME 类型应用程序/pkcs7-mime 没有对象 DCH

我正在尝试在 Android 上创建加密邮件,使用:

  1. 来自这里的Javamail 库,
  2. SpongyCastel 库 Core-1.51.0.0.jar、pg-1.51.0.0.jar、pkix-1.51.0.0.jar、prov-1.51.0.0.jar 和 scmail-jdk15on-1.47.0.3.jar。

下面是代码[从 spongycastel 示例源复制]:

当它调用时body.writeTo(),会抛出以下异常。请让我知道如何解决此问题:

0 投票
1 回答
2804 浏览

java - 使用较新版本的 Bouncy Castle 时,接收方无法验证 SMIME

我正在使用 BC 加密和签署 SMIME 消息以用于 AS2。我们的代码适用于绝对古老的充气城堡版本,bcmail-1.4:125. 升级到任何更新的东西会导致消息的接收者(不是太古老的 Cyclone 服务器)无法验证消息。(例如,maven 中最早的 v也会导致这种情况。这些是没有 API 更改的版本(例如 1.38)。

由于我们使用 JDK 1.7(和 1.8),我一直在尝试将其更新为更新版本的 BC、java-mail 等。我已经将所有 bouncy castle 升级到bcmail-jdk15on:1.51bcprov-jdk15on:1.51,以及 java 邮件,并遵循包中的示例bcmail。但是,我仍然收到 Cyclone 的错误提示integrity-check-failed

我相当肯定错误与我的签名方式有关。当我禁用签名并仅使用加密时,它会正确处理。此外,我可以正确接收来自远程服务器的签名响应并验证签名,这就是我获取错误消息的方式(来自 MimeMultiPart 上的内容处置)。

  • 证书由 openssl/self signed/etc 创建,存储在 pkcs12 文件中
  • 无限强度政策到位
  • senderKey是一个BCRSAPrivateCrtKey
  • senderCert
    • org.bouncycastle.jcajce.provider.asymmetric.x509.X509CertificateObject

失败:当前代码是这个,使用bcmail-jdk15on:1.51& 等

以前的工作代码看起来像这样并使用bcmail-1.4:1.25. 解密时升级到 1.3x 也会导致另一端失败(无论我在哪个 jdk 上运行,1.6 - 1.8)

通用设置代码

我感觉这与我添加(或操作)senderCert本地应用程序的 X509 的方式有关。

更新

我通过删除证书使新代码更符合旧代码:

  • 它不再在签名消息中包含证书。老版本没有
  • 整个 mime 多部分内容现在的长度(1095 字节)与以前完全相同
  • 格式(标题等)现在完全相同
  • 签名部分现在几乎相同。但是,有一部分似乎会根据时间(???)而变化,并且每次都会发生变化。我还无法让 openssl 验证此消息,不知道为什么。

这是示例输出,FWIW。中的文本[]是唯一更改的部分。

0 投票
1 回答
1411 浏览

php - 无法解密签名的 S/Mime 消息

我目前正在使用 PHP 实现 S/Mime 解密。到目前为止我得到了什么:

这个片段已经可以做什么:

  • 加密消息
  • 解密加密消息(自己创建)
  • 解密未签名的加密邮件 (Office 2010)

现在,我也想解密已签名的消息(因为它通常是一步)。问题:

  • 如果我第一次尝试解密,它将返回具有不同标头的加密消息。多次解密导致相同的结果。
  • 我的想法是使用 $content - 验证命令的参数(openssl_pkcs7_verify)。您可以在代码注释中看到我的尝试。

不过,我不知道第二次尝试有什么问题。任何帮助,将不胜感激!

0 投票
0 回答
79 浏览

blackberry - 黑莓 S-MIME LDAPS

Blackberry Enterprise Server 10 就位 Windows 2008R2 Active Directory Server LDAPS 已启用

我想设置 BES10 以通过 LDAPS 从 ADDS 检索公钥,用于 S-MIME。

使用 LDAP 它可以工作,但是在尝试使用 LDAPS 时它不起作用。

有没有人知道它是否受支持,如果支持,我可以看什么使它工作?

我无处找到规范如何或要求。

打招呼

0 投票
1 回答
3543 浏览

outlook - 使用 Outlook 2010 查看 S/MIME 邮件

我正在尝试从 Java Mail(充气城堡 1.51)向我的 Outlook 发送 S/MIME 签名和加密的邮件。

我可以很好地发送邮件,但接收是一个问题,因为 Outlook 不想打开邮件。以下是我尝试打开时遇到的错误:

无法打开此项目。底层安全系统无法找到您的数字 ID 名称。

使用 p7m Viewer 可以正常查看相同的邮件(以 eml 格式保存到本地文件),这表明 P12 证书已正确安装在我的笔记本电脑上。我已经在我的 Java 邮件代码中安装了与密钥库相同的 P12 文件。

我做错什么了吗?Outlook的问题结束了吗?我正在使用 Office 365 并想添加 p7m 查看器也无法打开我从 Outlook WebMail 下载的 smime.p7m。我收到的错误是:

文件已损坏;可能缺少签名信息。

下面是我用来加密/发送邮件的 Java 代码。

请帮忙!!!

问候

0 投票
1 回答
3299 浏览

java - Java - 使用 JavaMail 发送和接收 S/MIME 消息

JavaMail 使发送 MIME 消息变得容易。如何使用它发送 S/MIME?(我知道 JavaMail-Crypto 旨在解决这个问题,但它似乎不完整且被遗弃)。我想使用 X.509 证书发送和接收、加密和签名、解密和验证。

0 投票
1 回答
1287 浏览

java - Tika 检测多部分/签名

我正在使用 Tika 自动检测被推送到 DMS 的文档的内容类型。除了电子邮件之外,几乎所有东西都可以正常工作。

我必须区分标准邮件消息(mime => message/rfc822)和签名邮件消息(mime => multipart/signed),但所有电子邮件都被检测为 message/rfc822。

未正确检测到的签名邮件具有以下内容类型标头:

我用于解析的java代码是:

我正在引用核心库和 tika-parsers 来检测 pdf 和 msword 文档。我还缺少其他东西吗?

0 投票
0 回答
179 浏览

java - 计算 smime 的哈希值

我想创建 S/mime。我使用 bouncyCastle 生成 mime 消息,我必须签署这个 mime 消息。我必须计算 mime 消息的哈希并使用另一个应用程序对其进行签名。我做到了,但 Outlook 说“可以更改此消息的内容”。如何计算哈希 mime 消息的正文?可能我必须删除一些标题信息或添加?任何人都可以帮助我吗?

这是用于计算哈希的 eml 文件

0 投票
4 回答
51203 浏览

certificate - certutil:函数失败:SEC_ERROR_LEGACY_DATABASE:证书/密钥数据库采用旧的、不受支持的格式

我下载了一个经过验证(非自签名)的 S/MIME 证书,其中包含存储在 cert8.db 中的 iceweasel(firefox)

然后我用:

为了列出证书,然后我使用 certutil 给我的证书名称提取了 .p12 文件:

问题是我失去了对存储 p12 的 PC 的访问权限,现在我只有一个 cert8.db 副本到另一台 PC。因此我重复了这些certutil && pk12util命令,但 certutil 失败了:

我已经拼命尝试了 3 台不同的计算机,包括一台具有相同内核和libnss3-tools版本的计算机(例如我成功提取 p12 的初始桌面),即:

libnss3-tools版本:2:3.17.2-1

有什么想法吗?

谢谢

0 投票
0 回答
77 浏览

php - 发送复杂的 MIME 电子邮件

我被告知要发送带有附件的电子邮件。附件是一个 MIME 对象。MIME 对象应形成如图所示。

在此处输入图像描述

该对象Atto.msg由一些签名的部分(绿色部分)和一些附加信息组成,如IndiceBusta.xml. 比,Atto.msg 应该PKCS#7使用会话密钥并通过添加附加信息(如 IssuerDName 和 SerialNumber)来加密。

现在,假设我在 LAMP 服务器上,我的问题是:

如何制作包含多个部分的 MIME 对象?我知道如何签名DatiAtto.xmlCorpoAtto.pdf但我不知道如何在白框中添加其他信息,然后可能是最终的加密过程......我不知道如何添加会话密钥(Chiave Sessione)......该文件说信息的结构应该是CadEs。

任何帮助表示赞赏。