Búsqueda de sitios web

Obtener-CmsMessage (Microsoft.PowerShell.Security)


Get-CmsMessage

Módulo:
Microsoft.PowerShell.Security

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

Sintaxis

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

Descripción

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

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

El estándar de cifrado CMS utiliza criptografía de clave pública, donde las claves utilizadas para cifrar el contenido (la clave pública) y las claves utilizadas para descifrar el contenido (la clave privada) están separadas. Su clave pública se puede compartir ampliamente y no son datos confidenciales. Si algún contenido está cifrado con esta clave pública, solo su clave privada puede descifrarlo. Para obtener más información, consulte Criptografía de clave pública.

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

Se agregó 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: canalizar 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 cmdlet Get-CmsMessage del ejemplo 1 a Unprotect-CmsMessage, para descifrar el mensaje y leerlo en texto sin formato. En este caso, el valor del parámetro Para es el valor de la línea Asunto del certificado de cifrado. El mensaje descifrado, "Pruebe el nuevo comando Romper todo", es el resultado.

Parámetros

-Content

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

Tipo :

String

Posición:

0

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-LiteralPath

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

Tipo :

String

Posición:

1

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-Path

Especifica la ruta al contenido cifrado que desea descifrar.

Tipo :

String

Posición:

1

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

Artículos relacionados