Get-CmsMessage
获取已使用加密消息语法格式加密的内容。
语法
Get-CmsMessage
[-Content] <String>
[<CommonParameters>]
Get-CmsMessage
[-Path] <String>
[<CommonParameters>]
Get-CmsMessage
[-LiteralPath] <String>
[<CommonParameters>]
说明
Get-CmsMessage
cmdlet 获取已使用加密消息语法 (CMS) 格式加密的内容。
CMS cmdlet 支持使用 IETF 格式加密和解密内容,以加密方式保护消息,如 RFC5652所述。
CMS 加密标准使用公钥加密,其中用于加密内容的密钥(公钥)和用于解密内容的密钥(私钥)是分开的。 公钥可以广泛共享,并且不是敏感数据。 如果有任何内容使用此公钥进行加密,则只有私钥可以解密它。 有关详细信息,请参阅 公钥加密。
Get-CmsMessage
获取已采用 CMS 格式加密的内容。 它不会解密或取消保护内容。 可以通过运行 Protect-CmsMessage
cmdlet 来运行此 cmdlet 来获取已加密的内容。 可以指定要解密为字符串的内容,也可以通过加密内容的路径进行解密。 你可以通过管道将 Get-CmsMessage
的结果传递给 Unprotect-CmsMessage
来解密内容,前提是你了解用于加密内容的文档加密证书。
PowerShell 7.1 中添加了对 Linux 和 macOS 的支持。
示例
示例 1:获取加密内容
$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg.Content
-----BEGIN CMS-----
MIIBqAYJKoZIhvcNAQcDoIIBmTCCAZUCAQAxggFQMIIBTAIBADA0MCAxHjAcBgNVBAMBFWxlZWhv
bG1AbGljcm9zb2Z0LmNvbQIQQYHsbcXnjIJCtH+OhGmc1DANBgkqhkiG9w0BAQcwAASCAQAnkFHM
proJnFy4geFGfyNmxH3yeoPvwEYzdnsoVqqDPAd8D3wao77z7OhJEXwz9GeFLnxD6djKV/tF4PxR
E27aduKSLbnxfpf/sepZ4fUkuGibnwWFrxGE3B1G26MCenHWjYQiqv+Nq32Gc97qEAERrhLv6S4R
G+2dJEnesW8A+z9QPo+DwYP5FzD0Td0ExrkswVckpLNR6j17Yaags3ltNXmbdEXekhi6Psf2MLMP
TSO79lv2L0KeXFGuPOrdzPRwCkV0vNEqTEBeDnZGrjv/5766bM3GW34FXApod9u+VSFpBnqVOCBA
DVDraA6k+xwBt66cV84AHLkh0kT02SIHMDwGCSqGSIb3DQEHATAdBglghkgBZQMEASoEEJbJaiRl
KMnBoD1dkb/FzSWAEBaL8xkFwCu0e1AtDj7nSJc=
-----END CMS-----
此命令将获取位于 C:\Users\Test\Documents\PowerShell\Future_Plans.txt的加密内容。
示例 2:通过管道将加密内容传递给 Unprotect-CmsMessage
$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg | Unprotect-CmsMessage -To "cn=youralias@emailaddress.com"
Try the new Break All command
此命令通过管道将 Get-CmsMessage
cmdlet 的结果从示例 1 传递给 Unprotect-CmsMessage
,以解密消息并将其以纯文本形式读取。 在这种情况下,To 参数的值是加密证书的主题行的值。 解密的消息“尝试新的”全部中断命令“是结果。
参数
-Content
指定加密字符串或包含加密字符串的变量。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-LiteralPath
指定要获取的加密内容的路径。 与 路径不同,LiteralPath 的值与类型化完全相同。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将每个字符括在单引号中。 单引号指示 PowerShell 不要将封闭字符解释为转义字符。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Path
指定要解密的加密内容的路径。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |