当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 获取 CmsMessage (Microsoft.PowerShell.Security)

作者:精品下载站 日期:2024-12-14 02:09:29 浏览:14 分类:玩电脑

获取 CmsMessage (Microsoft.PowerShell.Security)


Get-CmsMessage

模块 :Microsoft.PowerShell.Security

获取已使用加密消息语法格式加密的内容。

句法

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 格式加密的内容。它不会解密或取消保护内容。您可以运行此 cmdlet 以获取已通过运行 Protect-CmsMessage 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 "[email protected]"

Try the new Break All command

此命令将示例 1 中的 Get-CmsMessage cmdlet 的结果传送到 Unprotect-CmsMessage,以解密消息并以纯文本形式读取它。在这种情况下,To 参数的值是加密证书的主题行的值。解密的消息“尝试新的全部中断命令”就是结果。

参数

-Content

指定加密字符串或包含加密字符串的变量。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-LiteralPath

指定您想要获取的加密内容的路径。与 Path 不同,LiteralPath 的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将每个字符用单引号引起来。单引号告诉 PowerShell 不要将包含的字符解释为转义字符。

类型 :

String

位置:

1

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-Path

指定要解密的加密内容的路径。

类型 :

String

位置:

1

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯