Get-CmsMessage

Ottiene il contenuto crittografato utilizzando il formato Sintassi del messaggio crittografico.

Sintassi

Get-CmsMessage
   [-Content] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-Path] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-LiteralPath] <String>
   [<CommonParameters>]

Descrizione

Il Get-CmsMessage cmdlet ottiene il contenuto crittografato usando il formato CMS (Cryptographic Message Syntax).

I cmdlet CMS supportano la crittografia e la decrittografia del contenuto usando il formato IETF per la protezione crittografica dei messaggi, come documentato da RFC5652.

Lo standard di crittografia CMS usa la crittografia a chiave pubblica, in cui le chiavi usate per crittografare il contenuto (la chiave pubblica) e le chiavi usate per decrittografare il contenuto (la chiave privata) sono separate. La chiave pubblica può essere condivisa liberamente e non contiene dati sensibili. Eventuale contenuto crittografato con la chiave pubblica potrà essere decrittografato solo con la chiave privata. Per altre informazioni, vedere: Crittografia a chiave pubblica.

Get-CmsMessage ottiene il contenuto crittografato in formato CMS. Non decrittografa o annulla la protezione del contenuto. È possibile eseguire questo cmdlet per ottenere il contenuto crittografato eseguendo il Protect-CmsMessage cmdlet . È possibile specificare il contenuto che si desidera decrittografare come stringa o in base al percorso del contenuto crittografato. È possibile inviare tramite pipe i risultati di Get-CmsMessage a Unprotect-CmsMessage per decrittografare il contenuto, purché siano disponibili informazioni sul certificato di crittografia dei documenti usato per crittografare il contenuto.

Il supporto per Linux e macOS è stato aggiunto in PowerShell 7.1.

Esempio

Esempio 1: Ottenere contenuto crittografato

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

Questo comando ottiene contenuto crittografato che si trova in C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Esempio 2: Inviare tramite pipe il contenuto crittografato a 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

Questo comando invia tramite pipe i risultati del cmdlet dall'esempio Get-CmsMessage 1 a Unprotect-CmsMessageper decrittografare il messaggio e leggerlo in testo normale. In questo caso, il valore del parametro To è il valore della riga Oggetto del certificato di crittografia. Il messaggio decrittografato "Prova il nuovo comando Interrompi tutto" è il risultato.

Parametri

-Content

Specifica una stringa crittografata o una variabile contenente una stringa crittografata.

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

-LiteralPath

Specifica il percorso del contenuto crittografato che si desidera ottenere. A differenza di Path, il valore di LiteralPath viene usato esattamente come viene tipizzato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderne ognuno tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare i caratteri racchiusi come caratteri di escape.

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

-Path

Specifica il percorso del contenuto crittografato da decrittografare.

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