Unprotect-CmsMessage
使用加密消息语法格式解密已加密的内容。
语法
Unprotect-CmsMessage
[-EventLogRecord] <PSObject>
[-IncludeContext]
[[-To] <CmsMessageRecipient[]>]
[<CommonParameters>]
Unprotect-CmsMessage
[-Content] <String>
[-IncludeContext]
[[-To] <CmsMessageRecipient[]>]
[<CommonParameters>]
Unprotect-CmsMessage
[-Path] <String>
[-IncludeContext]
[[-To] <CmsMessageRecipient[]>]
[<CommonParameters>]
Unprotect-CmsMessage
[-LiteralPath] <String>
[-IncludeContext]
[[-To] <CmsMessageRecipient[]>]
[<CommonParameters>]
说明
cmdlet Unprotect-CmsMessage
使用加密消息语法 (CMS) 格式解密已加密的内容。
CMS cmdlet 支持使用 IETF 标准格式对内容进行加密和解密,以加密方式保护消息,如 RFC5652 中所述。
CMS 加密标准采用公钥加密系统,其中用来加密内容的密匙(公匙)和用来解密内容的密匙(私匙)是分离的。 公匙可以广泛共享,它不是敏感数据。 如果用此公匙加密了任何内容,只有你的私匙可以解密它。 有关详细信息,请参阅 Public-key cryptography(公钥加密)。
Unprotect-CmsMessage
解密已以 CMS 格式加密的内容。 可以通过运行 cmdlet 来运行此 cmdlet 来解密已 Protect-CmsMessage
加密的内容。 可以按加密事件日志记录 ID 号或加密内容的路径,将要解密的内容指定为字符串。 cmdlet Unprotect-CmsMessage
返回解密的内容。
PowerShell 7.1 中添加了对 Linux 和 macOS 的支持。
示例
示例 1:解密邮件
在以下示例中,解密位于文本路径 C:\Users\Test\Documents\PowerShell
的内容。 对于所需的 To 参数的值,此示例使用用于执行加密的证书的指纹。 解密后的消息“尝试新的 Break All 命令”是结果。
$parameters = @{
LiteralPath = "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
To = '0f 8j b1 ab e0 ce 35 1d 67 d2 f2 6f a2 d2 00 cl 22 z9 m9 85'
}
Unprotect-CmsMessage -LiteralPath @parameters
Try the new Break All command
参数
-Content
指定加密字符串或包含加密字符串的变量。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EventLogRecord
指定表示 CMS 加密操作的事件日志记录 ID。
Type: | PSObject |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeContext
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
指定要解密的加密内容的路径。 不同于 Path,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配字符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
指定要解密的加密内容的路径。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-To
指定以下任何格式标识的一个或多个 CMS 邮件收件人:
- 实际证书(从证书提供程序检索到的)。
- 包含证书的文件的路径。
- 指向包含证书的目录的路径。
- 证书的指纹(用于在证书存储中查找)。
- 证书的使用者名称(用于在证书存储中查找)。
Type: | CmsMessageRecipient[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
System.Diagnostics.Eventing.Reader.EventLogRecord or System.String
可以通过管道将包含加密内容的对象传递给 Unprotect-CmsMessage
。
输出
未加密的消息。