Ho creato un certificato autofirmato utilizzando il nuovo certificato Self-Firmato di Powershell, con l'intenzione di crittografare e memorizzare un nome utente / password in pubblico.
Specificamente usando -
New-SelfSignedCertificate -TextExtension @("2.5.29.37={text}1.3.6.1.4.1.311.80.1")
-Provider "Microsoft Enhanced RSA and AES Cryptographic Provider"
-DnsName sign.example.com
-CertStoreLocation "Cert:\CurrentUser\My"
-KeyExportPolicy ExportableEncrypted -KeyUsage DataEncipherment
-KeyUsageProperty All -KeyLength 2048
$key = New-Object byte[](32)
$rng = [System.Security.Cryptography.RNGCryptoServiceProvider]::Create()
$rng.GetBytes($key)
$SecureStringWithKey = $cred.Password | ConvertFrom-SecureString -Key $key
Sto quindi creando un oggetto con la chiave, il nome utente e la password securestring e crittografandolo con
Protect-CmsMessage -Content $object -To $thumbprint
Supponendo che io abbia usato una password complessa per il file pfx, è sicuro conservare il file pfx e la stringa crittografata insieme in un repository github (insieme allo script che districa l'intera cosa) o dovrei fare i passi mantenere anche il file pfx sicuro?