//cert is an EF Entity and
// cert.CertificatePKCS12 is a byte[] with the certificate.
var certificate = new X509Certificate(cert.CertificatePKCS12, "SomePassword");
Quando si carica un certificato dal nostro database, sul nostro server di gestione temporanea (Windows 2008 R2/IIS7.5) si ottiene questa eccezione:X509Certificate Constructor Eccezione
System.Security.Cryptography.CryptographicException: An internal error occurred.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags)
NOTA: Questo problema non lo fa si verificano localmente (Windows 7/Casini).
Qualsiasi intuizione è molto apprezzata.
Ho lo stesso problema, per favore fatemi sapere se avete capito. –
Controlla http://stackoverflow.com/questions/1345262/an-internal-error-occurred-when-loading-pfx-file-with-x509certificate2 e http://stackoverflow.com/questions/6097380/asp-net -mvc-an-internal-error-happened-when-load-certificate-bytes-with-x – alan
Suppongo che l'origine del problema sia nel 'byte []' * data * che in 'cert.CertificatePKCS12'. Senza avere i dati si può solo intuire il motivo dell'eccezione "Si è verificato un errore interno". Quindi il mio suggerimento è di creare il certificato di test che può essere utilizzato nel proprio ambiente per riprodurre il problema, salvarlo nel file e fornire il link e la password (come "SomePassword") per la decodifica del certificato. Dopo aver esaminato * i dati * si avranno molte più possibilità di trovare il reson e di suggerire una soluzione del problema. – Oleg