public X509Certificate2ImplMono(byte[] rawData, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags)
{
switch (X509Certificate2.GetCertContentType(rawData))
{
case X509ContentType.Pkcs12:
_cert = ImportPkcs12(rawData, password);
break;
case X509ContentType.Cert:
case X509ContentType.Pkcs7:
_cert = new MX.X509Certificate(rawData);
break;
#if !MONOTOUCH_WATCH
case X509ContentType.Authenticode:
AuthenticodeDeformatter ad = new AuthenticodeDeformatter(rawData);
_cert = ad.SigningCertificate;
if (_cert == null)
{
goto default;
}
break;
#endif
default:
string msg = Locale.GetText("Unable to decode certificate.");
throw new CryptographicException(msg);
}
}