Condividi tramite


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 cmdlet Get-CmsMessage 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 ampiamente e non è dati sensibili. Se un contenuto è crittografato con questa chiave pubblica, solo la chiave privata può decrittografarla. 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 cmdlet Protect-CmsMessage. È 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 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 Get-CmsMessage dall'esempio 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.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly: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 caratteri 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.

Tipo:String
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Path

Specifica il percorso del contenuto crittografato da decrittografare.

Tipo:String
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False