Unprotect-CmsMessage
使用加密消息语法格式解密已加密的内容。
语法
ByWinEvent (默认值)
Unprotect-CmsMessage
[-EventLogRecord] <PSObject>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByContent
Unprotect-CmsMessage
[-Content] <String>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByPath
Unprotect-CmsMessage
[-Path] <String>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByLiteralPath
Unprotect-CmsMessage
[-LiteralPath] <String>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
说明
Unprotect-CmsMessage cmdlet 解密已使用加密消息语法 (CMS) 格式加密的内容。
CMS cmdlet 支持使用 IETF 标准格式加密和解密内容,以加密方式保护消息,如 RFC5652所述。
CMS 加密标准使用公钥加密,其中用于加密内容的密钥(公钥)和用于解密内容的密钥(私钥)是分开的。 公钥可以广泛共享,并且不是敏感数据。 如果有任何内容使用此公钥进行加密,则只有私钥可以解密它。 有关详细信息,请参阅 公钥加密。
Unprotect-CmsMessage 解密已采用 CMS 格式加密的内容。 可以通过运行 Protect-CmsMessage cmdlet 来解密已加密的内容。 可以通过加密事件日志 ID 号或加密内容的路径指定要解密为字符串的内容。 Unprotect-CmsMessage cmdlet 返回解密的内容。
示例
示例 1:解密消息
PS C:\> C:\Users\gabyk\Documents\PowerShell_ISEUnprotect-CmsMessage -LiteralPath "C:\Users\Test\Documents\PowerShell ISE\Future_Plans.txt" -To '0f 8j b1 ab e0 ce 35 1d 67 d2 f2 6f a2 d2 00 cl 22 z9 m9 85'
Try the new Break All command
在以下示例中,解密位于文本路径 C:\Users\Test\Documents\PowerShell ISE 的内容。 对于所需 To 参数的值,此示例使用用于执行加密的证书的指纹。 解密的消息“尝试新的”全部中断命令“是结果。
参数
-Content
指定加密字符串或包含加密字符串的变量。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByContent
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-EventLogRecord
指定表示 CMS 加密操作的事件日志 ID。
参数属性
| 类型: | PSObject |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByWinEvent
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-IncludeContext
Unprotect-CmsMessage cmdlet 解密已使用加密消息语法 (CMS) 格式加密的内容。
CMS cmdlet 支持使用 IETF 标准格式加密和解密内容,以加密方式保护消息,如 RFC5652所述。
CMS 加密标准使用公钥加密,其中用于加密内容的密钥(公钥)和用于解密内容的密钥(私钥)是分开的。 公钥可以广泛共享,并且不是敏感数据。 如果有任何内容使用此公钥进行加密,则只有私钥可以解密它。 有关详细信息,请参阅 公钥加密。
Unprotect-CmsMessage 解密已采用 CMS 格式加密的内容。 可以通过运行 Protect-CmsMessage cmdlet 来解密已加密的内容。 可以通过加密事件日志 ID 号或加密内容的路径指定要解密为字符串的内容。 Unprotect-CmsMessage cmdlet 返回解密的内容。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-LiteralPath
指定要解密的加密内容的路径。 与 路径不同,LiteralPath 的值是按照输入内容原样使用的。 不会将任何字符解释为通配字符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 Windows PowerShell 不要将任何字符解释为转义序列。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByLiteralPath
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Path
指定要解密的加密内容的路径。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByPath
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-To
指定一个或多个 CMS 消息收件人,以下列任何格式标识。
- 实际证书(从证书提供者检索)。
- 包含证书的文件的路径。
- 包含证书的目录的路径。
- 证书的指纹(用于在证书存储中查找)。
- 证书的使用者名称(用于在证书存储中查找)。
参数属性
| 类型: | CmsMessageRecipient[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
System.Diagnostics.Eventing.Reader.EventLogRecord or System.String
可以通过管道将包含加密内容的对象传递给 Unprotect-CmsMessage。
输出
String
未加密的消息。