Sto tentando di esportare un certificato senza la chiave privata come file codificato BASE-64, come se lo stessi esportando da Windows. Quando esportato da Windows sono in grado di aprire il file .cer nel blocco note.Esportazione di un certificato come codificato BASE-64 .cer
Quando provo quanto segue e apro sul blocco note ottengo dati binari ... Penso che sia ... non leggibile. .
X509Certificate2 cert = new X509Certificate2("c:\\myCert.pfx", "test", X509KeyStorageFlags.Exportable);
File.WriteAllBytes("c:\\testcer.cer", cert.Export(X509ContentType.Cert));
Ho provato a rimuovere il 'X509KeyStorageFlags.Exportable", ma questo non funziona mi sto perdendo qualcosa
Edit -? Ho provato
File.WriteAllText("c:\\testcer.cer",Convert.ToBase64String(cert.Export(X509ContentType.Cert)))
e che sembra funzionare, però , manca il "----- BEGIN CERTIFICATE -----" e "----- END CERTIFICATE -----"
Grazie alla struttura mono obsoleti sono costretto ad utilizzare, ho fatto ricorso a chiamare OpenSSL come un processo esterno: 'openssl pkcs12 -in ImportPath -nokeys -passin passare:' - questo funziona su Linux e Windows openssl binari. – Rbjz