El cmdlet New-SelfSignedCertificate sirve para crear un nuevo certificado autofirmado con fines de prueba.
Ejemplos de certificados:
- Certificado para cifrar: https://www.jesusninoc.com/02/12/crear-un-certificado-y-firmar-un-script-ps1-desde-powershell/
- Certificado para firmar: https://www.jesusninoc.com/11/18/exports-a-certificate-to-a-personal-information-exchange-pfx-file/
Se pueden crear certificados para firmar y para cifrar mediante el parámetro Type que utiliza con los siguientes valores:
- CodeSigningCert
- Custom
- DocumentEncryptionCert
- DocumentEncryptionCertLegacyCsp
- SSLServerAuthentication (default)
Si se intenta cifrar con un certificado que no tiene el valor DocumentEncryptionCert obtendremos el siguiente error:
Protect-CmsMessage : El certificado ’52AE3AEDD31828AA37086A46D22E5A7F35F8941D’ no se puede usar para cifrado. Los certificados de
cifrado deben contener el uso de claves de cifrado de datos o cifrado de claves, e incluir el uso mejorado de claves de cifrado de
documentos (1.3.6.1.4.1.311.80.1).