Get-CmsMessage
暗号化メッセージ構文形式を使用して暗号化されたコンテンツを取得します。
構文
Get-CmsMessage
[-Content] <String>
[<CommonParameters>]
Get-CmsMessage
[-Path] <String>
[<CommonParameters>]
Get-CmsMessage
[-LiteralPath] <String>
[<CommonParameters>]
説明
コマンドレットは Get-CmsMessage
、暗号化メッセージ構文 (CMS) 形式を使用して暗号化されたコンテンツを取得します。
CMS コマンドレットは、RFC5652に記載されているように、メッセージを暗号化保護するために IETF 形式を使用したコンテンツの暗号化と暗号化解除 をサポートします。
CMS 暗号化標準では公開キー暗号化が使用されます。ここで、コンテンツの暗号化に使用されるキー (公開キー) と、コンテンツの暗号化解除に使用されるキー (秘密キー) は分離されています。 公開キーは広く共有でき、機密性の高いデータではありません。 いずれかのコンテンツがこの公開キーで暗号化された場合、秘密キーのみが暗号化を解除できます。 公開キー暗号化の詳細については、「公開鍵暗号」を参照してください。
Get-CmsMessage
は、CMS 形式で暗号化されたコンテンツを取得します。 コンテンツの暗号化解除や保護解除は行われません。 このコマンドレットを実行すると、 コマンドレットを実行して暗号化したコンテンツを Protect-CmsMessage
取得できます。 暗号化を解除するコンテンツを文字列として、または暗号化されたコンテンツへのパスで指定できます。 コンテンツの暗号化に使用されたドキュメント暗号化証明書に関する情報がある場合は、 のGet-CmsMessage
Unprotect-CmsMessage
結果を にパイプしてコンテンツの暗号化を解除できます。
Linux と macOS のサポートが PowerShell 7.1 で追加されました。
例
例 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
例 1 から にパイプ処理 Unprotect-CmsMessage
して、メッセージの暗号化を解除し、プレーン テキストで読み取ります。 この場合、 To パラメーターの値は、暗号化証明書のサブジェクト行の値です。 復号化されたメッセージ "新しい Break All コマンドを試す" が結果になります。
パラメーター
-Content
暗号化された文字列、または暗号化された文字列を含む変数を指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
取得する暗号化されたコンテンツへのパスを指定します。 Path とは異なり、LiteralPath の値は入力した内容のまま使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、それぞれを単一引用符で囲みます。 単一引用符は、囲まれた文字をエスケープ文字として解釈しないように PowerShell に指示します。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
暗号化を解除する暗号化されたコンテンツへのパスを指定します。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |