我们正在尝试解密通过 Graph API 获得的电子邮件。由于 Graph API 只返回 MIME 消息而不返回 MSG,因此我们无法直接解密消息,现在正在寻找一种方法来解密 MIME 消息中的 RPMSG 附件。

这里的文档说 MIP SDK 可以取消对 RPMSG 文件的保护。

但是,当我们尝试使用以下代码通过 Java 包装器执行此操作时:

FileHandlerObserver observer = new FileHandlerObserver();
Future<IFileHandler> handlerFuture = fileEngine.createFileHandlerAsync(FILEPATH, FILEPATH, true, observer, null);

我们得到以下错误:

java.util.concurrent.ExecutionException: com.microsoft.informationprotection.internal.gen.Error: ServiceDisabledError: RMS service is disabled for this tenant., CorrelationId=dd593faf-7b78-4aab-9ce5-0c0dc70a9744, CorrelationId.Description=FileEngine, HttpRequest.Id=374e9554-6a4e-4a3f-9487-9338c7093abc;20b1c623-dac9-4810-8a8a-50218028a111, ServiceDisabledError.Extent=Tenant
  at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
  at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
  ...
Caused by: com.microsoft.informationprotection.internal.gen.Error: ServiceDisabledError: RMS service is disabled for this tenant., CorrelationId=dd593faf-7b78-4aab-9ce5-0c0dc70a9744, CorrelationId.Description=FileEngine, HttpRequest.Id=374e9554-6a4e-4a3f-9487-9338c7093abc;20b1c623-dac9-4810-8a8a-50218028a111, ServiceDisabledError.Extent=Tenant
  at com.microsoft.informationprotection.internal.gen.SdkWrapperJNI.SwigDirector_FileHandler_Observer_OnCreateFileHandlerFailure(SdkWrapperJNI.java:1964)

我们尝试按照说明通过管理中心激活该服务,但这似乎不再受支持。此外,通过 PowerShell
激活服务的说明会生成一条消息,表明该服务已启用。

我们可以使用 MIP SDK Java 包装器解密 RPMSG 文件吗?


您必须验证您是否拥有要解密的项目。您将无法解密其他租户拥有的内容。这个错误让我认为其他租户可能拥有它。另一种可能性是缺少功能标志(见下文)。

值得注意的是,该 SDK 不支持将 message.rpmsg 解密为有用的文件格式。它将使用 IFileHandler.Inspect() API 仅输出数据流;邮件正文和附件。如果您需要可用文件作为输出,则需要将 EML 文件转换为 MSG,然后删除保护。

要启用 MSG 和 message.rpmsg 文件的解析,您需要设置一个功能标志。不幸的是,1.9 预览版似乎不支持启用该功能的覆盖。它是 1.10 预览版,我预计将在下周内发布。


感谢您的答复。租客绝对是对的。我们甚至使用发送邮件的用户。您能告诉我更多有关您在下一版本中添加的标志的信息吗?怎么称呼?我们如何使用它?另外,您是否建议使用 Java 库将 EML 文件转换为支持 MIP 保护邮件的 MSG?是否需要特殊处理?

我对这一变化存在误解。之前设置标志来处理 MSG 文件的行为仍然存在。github.com/MicrosoftDocs/Azure-RMSDocs/blob/master/mip/develop /... 我知道 Aspose 提供了一个可以执行 EML 到 MSG 转换的库,反之亦然。我只在 .NET 中对其进行了简单测试,它似乎运行良好。

好的,谢谢您的更新!但是,我们已经在使用此标志,并尝试在设置和不设置它的情况下检查 RPMSG 文件。但问题仍然存在。对于我们可能需要更改哪些设置,您还有其他建议吗?与在让 MIP SDK 删除保护并最终从 MSG 中提取内容之前将 EML 文件转换为 MSG 文件相比,这将是一种更简单的解决方案。

@TomMoser,您好,您有关于 RPMSG 检查的任何更新吗?