C# 如何使用MIP SDK加密PDF文件?

C# 如何使用MIP SDK加密PDF文件?,c#,microsoft-information-protection,mip-sdk,C#,Microsoft Information Protection,Mip Sdk,基本上,我们的要求是下载现有的pdf文档(具有MIP加密),然后解密pdf文件,修改pdf中的内容,然后重新加密。我正在使用文件SDK。在修改我能够执行的内容之前,现在我想重新加密文件。设置标签(从protection.office.com启用加密)时,将错误设置为“TemplateNotFoundException:无法识别的模板ID.”。 请建议 var result = Task.Run(async () => await handler.CommitAsync(options.Ou

基本上,我们的要求是下载现有的pdf文档(具有MIP加密),然后解密pdf文件,修改pdf中的内容,然后重新加密。我正在使用文件SDK。在修改我能够执行的内容之前,现在我想重新加密文件。设置标签(从protection.office.com启用加密)时,将错误设置为“TemplateNotFoundException:无法识别的模板ID.”。 请建议

var result = Task.Run(async () => await handler.CommitAsync(options.OutputName)).Result;

与标签关联的RMS保护模板似乎已被删除或设置为存档。您可以删除并重新创建该标签,或者必须使用AIP service cmdlet调查您的模板之一是否已设置为已存档或已删除

您可以使用列出模板。模板的名称应与标签匹配

如果模板设置为“已存档”,请使用set-AIPSerivceTemplate将状态设置回“已发布”。如果模板不存在,可以删除标签并重新开始(尽管删除模板很奇怪),也可以使用PowerShell更新保护设置

介绍如何通过PowerShell管理标签。您可以执行以下操作:

get-label | where {$_.displayname -eq "TOP SECRET"} | fl displayname,labelactions
这将产生:

DisplayName  : TOP SECRET
LabelActions : {{"Type":"encrypt","SubType":null,"Settings":[{"Key":"disabled","Value":"false"},{"Key":"protectiontype"
               ,"Value":"template"},{"Key":"templateid","Value":"0e7fea72-7bba-4438-a070-95c292cd6f8c"},{"Key":"templat
               earchived","Value":"True"},{"Key":"linkedtemplateid","Value":"0e7fea72-7bba-4438-a070-95c292cd6f8c"},{"K
               ey":"contentexpiredondateindaysornever","Value":"Never"},{"Key":"offlineaccessdays","Value":"-1"},{"Key"
               :"rightsdefinitions","Value":"[{\"Identity\":\"miltor.onmicrosoft.com\",\"Rights\":\"VIEW,VIEWRIGHTSDATA
               ,DOCEDIT,EDIT,PRINT,EXTRACT,REPLY,REPLYALL,FORWARD,OBJMODEL\"},{\"Identity\":\"microsoft.com\",\"Rights\
               ":\"VIEW,VIEWRIGHTSDATA,OBJMODEL\"},{\"Identity\":\"test@milt0r.com\",\"Rights\":\"PROJECT\"}]"}]}, {"Ty
               pe":"applycontentmarking","SubType":"header","Settings":[{"Key":"fontsize","Value":"10"},{"Key":"placeme
               nt","Value":"Header"},{"Key":"text","Value":"Property of Contoso"},{"Key":"fontcolor","Value":"#000000"}
               ,{"Key":"margin","Value":"5"},{"Key":"alignment","Value":"Left"},{"Key":"disabled","Value":"false"}]}, {
               "Type":"applycontentmarking","SubType":"footer","Settings":[{"Key":"fontsize","Value":"10"},{"Key":"plac
               ement","Value":"Footer"},{"Key":"text","Value":"Property of Contoso"},{"Key":"fontcolor","Value":"#00000
               0"},{"Key":"margin","Value":"5"},{"Key":"alignment","Value":"Left"},{"Key":"disabled","Value":"false"}]}
               , {"Type":"applywatermarking","SubType":null,"Settings":[{"Key":"fontsize","Value":"10"},{"Key":"layout"
               ,"Value":"Diagonal"},{"Key":"fontcolor","Value":"#000000"},{"Key":"disabled","Value":"false"},{"Key":"te
               xt","Value":"Property of Contoso"}]}}
在该JSON中,找到linkedtemplateid:{“键”:“linkedtemplateid”,“值”:“0e7fea72-7bba-4438-a070-95c292cd6f8c”}

这是RMS中应该存在的模板ID,用于为标签提供保护操作。如果不存在,请使用创建新模板并更新标签,方法是提供EncryptionProtectionTypeEncryptionRightsDefinitions