共用方式為


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>]

Description

Unprotect-CmsMessage Cmdlet 會使用密碼編譯訊息語法 (CMS) 格式來解密已加密的內容。

CMS Cmdlet 支援使用 IETF 標準格式加密和解密內容,以密碼編譯方式保護訊息,如 RFC5652所記載。

CMS 加密標準會使用公鑰密碼編譯,其中用來加密內容的密鑰(公鑰)和用來解密內容的金鑰(私鑰)是分開的。 您的公鑰可以廣泛共用,而且不是敏感數據。 如果有任何內容使用此公鑰加密,則只有您的私鑰才能解密。 如需詳細資訊,請參閱 公鑰密碼編譯

Unprotect-CmsMessage 解密以 CMS 格式加密的內容。 您可以執行此 Cmdlet,藉由執行 Protect-CmsMessage Cmdlet 來解密已加密的內容。 您可以藉由加密事件記錄識別碼或加密內容的路徑,指定您想要解密為字串的內容。 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
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-EventLogRecord

指定代表 CMS 加密作業的事件記錄檔記錄識別碼。

類型:PSObject
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-IncludeContext

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-LiteralPath

指定要解密之加密內容的路徑。 不同於 PathLiteralPath 的值會與輸入時完全相同。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知 Windows PowerShell 不要將任何字元解譯為逸出序列。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Path

指定要解密之加密內容的路徑。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-To

指定以下列任何格式識別的一或多個CMS訊息收件者。

  • 實際憑證(如從憑證提供者擷取)。
  • 包含憑證之檔案的路徑。
  • 包含憑證之目錄的路徑。
  • 憑證的指紋(用來查看證書存儲)。
  • 憑證的主體名稱(用來查看證書存儲)。
類型:CmsMessageRecipient[]
Position:1
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

System.Diagnostics.Eventing.Reader.EventLogRecord or System.String

您可以使用管線將包含加密內容的物件傳送至 Unprotect-CmsMessage

輸出

String

未加密的訊息。