Unprotect-CmsMessage

Déchiffre le contenu qui a été chiffré à l’aide du format syntaxe des messages de chiffrement.

Syntax

Unprotect-CmsMessage
         [-EventLogRecord] <EventLogRecord>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]
Unprotect-CmsMessage
         [-Content] <string>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]
Unprotect-CmsMessage
         [-Path] <string>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]
Unprotect-CmsMessage
         [-LiteralPath] <string>
         [[-To] <CmsMessageRecipient[]>]
         [-IncludeContext]
         [<CommonParameters>]

Description

L’applet Unprotect-CmsMessage de commande déchiffre le contenu qui a été chiffré à l’aide du format CMS (Cryptographic Message Syntax).

Les applets de commande CMS prennent en charge le chiffrement et le déchiffrement du contenu à l’aide du format standard IETF pour protéger les messages par chiffrement, comme documenté par RFC5652.

La norme de chiffrement CMS utilise le chiffrement à clé publique, où les clés utilisées pour chiffrer le contenu (la clé publique) et les clés utilisées pour déchiffrer le contenu (la clé privée) sont distinctes. Votre clé publique peut être partagée largement et n’est pas des données sensibles. Si du contenu est chiffré avec cette clé publique, seule votre clé privée peut le déchiffrer. Pour plus d’informations, consultez Cryptographie asymétrique.

Unprotect-CmsMessage déchiffre le contenu qui a été chiffré au format CMS. Vous pouvez exécuter cette applet de commande pour déchiffrer le contenu que vous avez chiffré en exécutant l’applet de Protect-CmsMessage commande. Vous pouvez spécifier le contenu que vous souhaitez déchiffrer en tant que chaîne, par le numéro d’ID d’enregistrement du journal des événements de chiffrement ou par chemin d’accès au contenu chiffré. L’applet Unprotect-CmsMessage de commande retourne le contenu déchiffré.

La prise en charge de Linux et macOS a été ajoutée dans PowerShell 7.1.

Exemples

Exemple 1 : Déchiffrer un message

Dans l’exemple suivant, vous déchiffrez le contenu situé au niveau du chemin C:\Users\Test\Documents\PowerShelllittéral. Pour la valeur du paramètre To requis, cet exemple utilise l’empreinte numérique du certificat utilisé pour effectuer le chiffrement. Le message déchiffré , « Essayer la nouvelle commande Arrêter tout », est le résultat.

$parameters = @{
  LiteralPath = "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
  To = '0f 8j b1 ab e0 ce 35 1d 67 d2 f2 6f a2 d2 00 cl 22 z9 m9 85'
}
Unprotect-CmsMessage -LiteralPath @parameters

Try the new Break All command

Exemple 2 : Déchiffrer un message de journal des événements chiffré

L’exemple suivant obtient un événement chiffré à partir du journal des événements PowerShell et le déchiffre à l’aide Unprotect-CmsMessagede .

$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
    Where-Object Id -eq 4104
Unprotect-CmsMessage -EventLogRecord $event

Exemple 3 : Déchiffrer les messages du journal des événements chiffrés à l’aide du pipeline

L’exemple suivant obtient tous les événements chiffrés du journal des événements PowerShell et les déchiffre à l’aide Unprotect-CmsMessagede .

Get-WinEvent Microsoft-Windows-PowerShell/Operational |
    Where-Object Id -eq 4104 |
    Unprotect-CmsMessage

Paramètres

-Content

Spécifie une chaîne chiffrée ou une variable contenant une chaîne chiffrée.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-EventLogRecord

Spécifie un enregistrement du journal des événements qui contient un message chiffré CMS.

Type:PSObject
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IncludeContext

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Spécifie le chemin d’accès au contenu chiffré que vous souhaitez déchiffrer. Contrairement à Path, la valeur de LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n'est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Spécifie le chemin d’accès au contenu chiffré que vous souhaitez déchiffrer.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-To

Spécifie un ou plusieurs destinataires de message CMS, identifiés dans l’un des formats suivants :

  • Certificat réel (tel que récupéré à partir du fournisseur de certificats).
  • Chemin d’accès au fichier contenant le certificat.
  • Chemin d’accès à un répertoire contenant le certificat.
  • Empreinte numérique du certificat (utilisée pour rechercher dans le magasin de certificats).
  • Nom du sujet du certificat (utilisé pour rechercher dans le magasin de certificats).
Type:CmsMessageRecipient[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

EventLogRecord

String

Vous pouvez diriger un objet contenant du contenu chiffré vers cette applet de commande.

Sorties

String

Cette applet de commande retourne le message non chiffré.