Usando X509Certificate2 em Mono-carregamento com chave pública e privada?
No momento, tento instanciar um X509Certificate2 como este:
cert = new X509Certificate2(Resources.cred);
OndeResources.cred
é umbyte[]
representando um.pfx Arquivo.
Isso funciona absolutamente bem no Windows / .NET.
No entanto, executando o mesmo código emCompilador Mono JIT versão 3.2.8 (Debian 3.2.8 + dfsg-4ubuntu1) (Mono no Ubuntu Server 14.04 LTS), recebo a seguinte exceção:
System.TypeInitializationException: An exception was thrown by the type initializer for <snipped irrelevant type name> ---> System.Security.Cryptography.CryptographicException: Unable to decode certificate. ---> System.Security.Cryptography.CryptographicException: Input data cannot be coded as a valid certificate. ---> System.Security.Cryptography.CryptographicException: Input data cannot be coded as a valid certificate.
at Mono.Security.X509.X509Certificate.Parse (System.Byte[] data) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Mono.Security.X509.X509Certificate.Parse (System.Byte[] data) [0x00000] in <filename unknown>:0
at Mono.Security.X509.X509Certificate..ctor (System.Byte[] data) [0x00000] in <filename unknown>:0
at System.Security.Cryptography.X509Certificates.X509Certificate2.Import (System.Byte[] rawData, System.String password, X509KeyStorageFlags keyStorageFlags) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Security.Cryptography.X509Certificates.X509Certificate2.Import (System.Byte[] rawData, System.String password, X509KeyStorageFlags keyStorageFlags) [0x00000] in <filename unknown>:0
at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor (System.Byte[] rawData) [0x00000] in <filename unknown>:0
--- End of relevant stack trace ---
Caso isso importe, esse certificado é assinado com minha própria CA e é usado no RSA bruto.
Eu tenho o.pfx, .cer e.pvk arquivos disponíveis para este certificado.
Como devo proceder para carregar este certificado com a chave privada em Mono?