<REVOKE category="principal" type="principal-id">
<OBJECT type="Group-Identity">
<ID type="Passport">{PUID}</ID>
<NAME>michael@contoso.com</NAME>
</OBJECT>
</REVOKE>
当指定 ID 类型时,请确保主体唯一标识符 (PUID) 和结束标记之间没有回车符。如果无意地添加了回车符,RMS 客户端将无法分析吊销列表。
在吊销列表中插入签名
创建吊销列表完毕后,您必须按照本主题所述在吊销列表中插入签名。然后,您可以将该吊销列表存放到在关联的权限策略模板中指定的 URL 下,以便用户访问。
插入签名时,第一步是使用强名称工具 (Sn.exe) 为吊销列表生成密钥对和密钥文件。Sn.exe 工具包含在 Microsoft .NET Framework SDK 1.1 中,您可以从 Microsoft 网站 https://go.microsoft.com/fwlink/?LinkId=104796(页面可能为英文)下载该 SDK。
吊销列表文件必须保存为 UNICODE 文件,以便使用 RLsigner.exe 进行签署
使用 Sn.exe 生成新的密钥对并将该密钥对写入文件中
创建私钥。在命令提示符处键入下列命令,然后按 Enter:
sn -k 私钥文件**.snk**
其中,私钥文件是密钥文件的名称。
使用 Sn.exe 从在步骤 1 中创建的密钥对文件中提取公钥,并将它导出到独立的文件中。键入下列命令,然后按 Enter:
sn -p 私钥文件 公钥文件
其中,私钥文件是在步骤 1 中创建的私钥文件的名称,而公钥文件是将存储导出的公钥的文件名。
将私钥文件(在步骤 1 中创建)的扩展名从 .snk 更改为 .dat 以与 RLsigner.exe 配合使用。
使用 RLsigner.exe 将签名插入到吊销列表文件中。此工具包含在 RMS 中。默认情况下,它位于 %systemdrive%\Program Files\Windows Rights Management Services\Tools 目录中。
RLsigner.exe 不支持包括空格的文件名。
使用 RLsigner.exe
运行 RLsigner.exe 时,它首先使用密钥文件中提供的私钥创建签名。然后创建基于您提供的吊销列表文件的输出文件。
吊销列表文件必须保存为 UNICODE 文件以使用 RLsigner.exe。
要使用 RLsigner.exe 来签署吊销列表,请在命令提示符处键入下列命令:
rlsigner.exe 输入文件 {-f 密钥文件 | -h 容器名称 CSP} 输出文件
使用下列信息完成该命令的输入参数:
rlsigner.exe rl.xml -f key.dat output.xml
使用硬件安全模块的命令行语法示例:
rlsigner.exe rl.xml -h Container CSP output.xml
RLsigner.exe 在返回代码中提供基本的错误信息和成功信息。下表描述了可能的返回代码。
您可能需要根据为服务器指定的刷新率来计划吊销列表的签署。
您也可以使用脚本自动完成吊销列表签署过程。下列示例 VBScript 调用 RLsigner.exe,并将结果写入系统事件日志。
const EVT_SUCCESS = 0
const EVT_ERROR = 1
const EVT_WARNING = 2
const EVT_INFORMATION = 4
const EVT_AUDIT_SUCCESS = 8
const EVT_AUDIT_FAILURE = 16
Dim WshShell, oExec
Set WshShell = CreateObject( "WScript.Shell" )
Set oExec = WshShell.Exec("rlsigner.exe input_file key_file output_file")
Do While oExec.Status = 0
WScript.Sleep 100
if WshShell.ExitCode <> 0 Then
WshShell.LogEvent EVT_ERROR, "RLsigner failed with error """ + WshShell.ExitCode + """"
WshShell.LogEvent EVT_SUCCESS, "RLsigner completed successfully"
end if