Wie kann ich CngKey zu PKCS # 8 mit Verschlüsselung exportieren?Export CngKey in PKCS8 mit Verschlüsselung C#
static void Main(string[] args)
{
CngKeyCreationParameters ckcParams = new CngKeyCreationParameters()
{
ExportPolicy = CngExportPolicies.AllowExport,
KeyCreationOptions = CngKeyCreationOptions.None,
KeyUsage = CngKeyUsages.AllUsages,
};
ckcParams.Parameters.Add(new CngProperty("Length", BitConverter.GetBytes(2048), CngPropertyOptions.None));
myCngKey = CngKey.Create(CngAlgorithm.Rsa, "theCngKey", ckcParams);
byte[] privatePlainTextBlob = myCngKey.Export(CngKeyBlobFormat.Pkcs8PrivateBlob);
}
die ExportPolicy zu AllowPlainTextExport Einstellung kann der Schlüssel exportiert werden, sondern nur im Klartext. Ich möchte einen PCKS8-Blob erstellen, der mit einem symmetrischen Schlüssel verschlüsselt ist.
Dank
Danke! Ich hatte damit großen Erfolg. Wenn ich nur einen NCRYPTBUFFER_PKCS_SECRET-Wert habe, ist die Ausgabe identisch mit CngKey.Export(). Es scheint, dass ich auch eine NCRYPTBUFFER_PKCS_ALG_OID und möglicherweise eine NCRYPTBUFFER_PKCS_ALG_PARAM bereitstellen muss. Aber ich kann nirgends finden, was ich für diese Parameter verwenden soll. Ich möchte eine AES256 PKCS8 machen. –
Einige Hinweise hier: https://blog.wingsofhermes.org/?p=166 –