Share via


Get-CmsMessage

Obtiene el contenido que se ha cifrado mediante el formato de sintaxis de mensajes criptográficos.

Syntax

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

Description

El Get-CmsMessage cmdlet obtiene el contenido que se ha cifrado mediante el formato de sintaxis de mensajes criptográficos (CMS).

Los cmdlets de CMS admiten el cifrado y el descifrado del contenido mediante el formato IETF para proteger los mensajes criptográficamente, tal como se documenta en RFC5652.

El estándar de cifrado cmS usa criptografía de clave pública, donde las claves usadas para cifrar el contenido (la clave pública) y las claves usadas para descifrar contenido (la clave privada) son independientes. La clave pública se puede compartir y no se considera información confidencial. Si cualquier contenido está cifrado con esta clave pública, solo su clave privada puede descifrarlo. Para obtener más información, consulte Public-key cryptography (Criptografía mediante claves públicas).

Get-CmsMessage obtiene el contenido que se ha cifrado en formato CMS. No descifra ni desprotege contenido. Puede ejecutar este cmdlet para obtener el contenido que ha cifrado mediante la ejecución del Protect-CmsMessage cmdlet . Puede especificar el contenido que desea descifrar como una cadena o por ruta de acceso al contenido cifrado. Puede canalizar los resultados de Get-CmsMessage a para Unprotect-CmsMessage descifrar el contenido, siempre que tenga información sobre el certificado de cifrado de documentos que se usó para cifrar el contenido.

Se ha agregado compatibilidad con Linux y macOS en PowerShell 7.1.

Ejemplos

Ejemplo 1: Obtener contenido cifrado

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

Este comando obtiene contenido cifrado ubicado en C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Ejemplo 2: Canalización del contenido cifrado 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

Este comando canaliza los resultados del Get-CmsMessage cmdlet del ejemplo 1 a Unprotect-CmsMessage, para descifrar el mensaje y leerlo en texto sin formato. En este caso, el valor del parámetro To es el valor de la línea Asunto del certificado de cifrado. El mensaje descifrado " Try the new Break All command" (Probar el nuevo comando Interrumpir todo) es el resultado.

Parámetros

-Content

Especifica una cadena cifrada o una variable que contiene una cadena cifrada.

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

-LiteralPath

Especifica la ruta de acceso al contenido cifrado que desea obtener. A diferencia de Path, el valor de LiteralPath se usa exactamente como se escribe. Ningún carácter se interpreta como carácter comodín. Si la ruta de acceso incluye caracteres de escape, encierre cada uno entre comillas simples. Las comillas simples indican a PowerShell que no interprete los caracteres incluidos como caracteres de escape.

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

-Path

Especifica la ruta de acceso al contenido cifrado que desea descifrar.

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