X509Util.smali
.class Lorg/spongycastle/x509/X509Util;
.super Ljava/lang/Object;
.source "X509Util.java"
# static fields
.field private static algorithms:Ljava/util/Hashtable;
.field private static noParams:Ljava/util/Set;
.field private static params:Ljava/util/Hashtable;
# direct methods
.method static constructor <clinit>()V
.registers 4
.prologue
.line 41
new-instance v0, Ljava/util/Hashtable;
invoke-direct {v0}, Ljava/util/Hashtable;-><init>()V
sput-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
.line 42
new-instance v0, Ljava/util/Hashtable;
invoke-direct {v0}, Ljava/util/Hashtable;-><init>()V
sput-object v0, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
.line 43
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
sput-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
.line 47
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "MD2WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->md2WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 48
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "MD2WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->md2WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 49
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "MD5WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->md5WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 50
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "MD5WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->md5WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 51
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA1WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha1WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 52
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA1WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha1WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 53
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA224WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha224WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 54
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA224WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha224WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 55
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA256WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha256WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 56
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA256WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha256WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 57
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA384WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha384WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 58
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA384WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha384WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 59
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA512WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha512WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 60
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA512WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->sha512WithRSAEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 61
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA1WITHRSAANDMGF1"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->id_RSASSA_PSS:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 62
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA224WITHRSAANDMGF1"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->id_RSASSA_PSS:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 63
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA256WITHRSAANDMGF1"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->id_RSASSA_PSS:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 64
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA384WITHRSAANDMGF1"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->id_RSASSA_PSS:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 65
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA512WITHRSAANDMGF1"
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->id_RSASSA_PSS:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 66
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "RIPEMD160WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers;->rsaSignatureWithripemd160:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 67
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "RIPEMD160WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers;->rsaSignatureWithripemd160:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 68
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "RIPEMD128WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers;->rsaSignatureWithripemd128:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 69
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "RIPEMD128WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers;->rsaSignatureWithripemd128:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 70
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "RIPEMD256WITHRSAENCRYPTION"
sget-object v2, Lorg/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers;->rsaSignatureWithripemd256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 71
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "RIPEMD256WITHRSA"
sget-object v2, Lorg/spongycastle/asn1/teletrust/TeleTrusTObjectIdentifiers;->rsaSignatureWithripemd256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 72
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA1WITHDSA"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->id_dsa_with_sha1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 73
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "DSAWITHSHA1"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->id_dsa_with_sha1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 74
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA224WITHDSA"
sget-object v2, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha224:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 75
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA256WITHDSA"
sget-object v2, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 76
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA384WITHDSA"
sget-object v2, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha384:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 77
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA512WITHDSA"
sget-object v2, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha512:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 78
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA1WITHECDSA"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 79
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "ECDSAWITHSHA1"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 80
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA224WITHECDSA"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA224:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 81
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA256WITHECDSA"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 82
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA384WITHECDSA"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA384:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 83
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "SHA512WITHECDSA"
sget-object v2, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA512:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 84
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "GOST3411WITHGOST3410"
sget-object v2, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_94:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 85
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "GOST3411WITHGOST3410-94"
sget-object v2, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_94:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 86
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "GOST3411WITHECGOST3410"
sget-object v2, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_2001:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 87
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "GOST3411WITHECGOST3410-2001"
sget-object v2, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_2001:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 88
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
const-string v1, "GOST3411WITHGOST3410-2001"
sget-object v2, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_2001:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-virtual {v0, v1, v2}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 94
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 95
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA224:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 96
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 97
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA384:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 98
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->ecdsa_with_SHA512:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 99
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/x9/X9ObjectIdentifiers;->id_dsa_with_sha1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 100
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha224:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 101
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 102
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha384:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 103
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->dsa_with_sha512:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 108
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_94:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 109
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
sget-object v1, Lorg/spongycastle/asn1/cryptopro/CryptoProObjectIdentifiers;->gostR3411_94_with_gostR3410_2001:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 114
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v1, Lorg/spongycastle/asn1/oiw/OIWObjectIdentifiers;->idSHA1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
sget-object v2, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v0, v1, v2}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
.line 115
sget-object v1, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
const-string v2, "SHA1WITHRSAANDMGF1"
const/16 v3, 0x14
invoke-static {v0, v3}, Lorg/spongycastle/x509/X509Util;->creatPSSParams(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;I)Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
move-result-object v0
invoke-virtual {v1, v2, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 117
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->id_sha224:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
sget-object v2, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v0, v1, v2}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
.line 118
sget-object v1, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
const-string v2, "SHA224WITHRSAANDMGF1"
const/16 v3, 0x1c
invoke-static {v0, v3}, Lorg/spongycastle/x509/X509Util;->creatPSSParams(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;I)Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
move-result-object v0
invoke-virtual {v1, v2, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 120
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->id_sha256:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
sget-object v2, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v0, v1, v2}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
.line 121
sget-object v1, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
const-string v2, "SHA256WITHRSAANDMGF1"
const/16 v3, 0x20
invoke-static {v0, v3}, Lorg/spongycastle/x509/X509Util;->creatPSSParams(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;I)Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
move-result-object v0
invoke-virtual {v1, v2, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 123
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->id_sha384:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
sget-object v2, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v0, v1, v2}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
.line 124
sget-object v1, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
const-string v2, "SHA384WITHRSAANDMGF1"
const/16 v3, 0x30
invoke-static {v0, v3}, Lorg/spongycastle/x509/X509Util;->creatPSSParams(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;I)Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
move-result-object v0
invoke-virtual {v1, v2, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 126
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v1, Lorg/spongycastle/asn1/nist/NISTObjectIdentifiers;->id_sha512:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
sget-object v2, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v0, v1, v2}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
.line 127
sget-object v1, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
const-string v2, "SHA512WITHRSAANDMGF1"
const/16 v3, 0x40
invoke-static {v0, v3}, Lorg/spongycastle/x509/X509Util;->creatPSSParams(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;I)Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
move-result-object v0
invoke-virtual {v1, v2, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 128
return-void
.end method
.method constructor <init>()V
.registers 1
.prologue
.line 39
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static calculateSignature(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/security/PrivateKey;Ljava/security/SecureRandom;Lorg/spongycastle/asn1/ASN1Encodable;)[B
.registers 9
.prologue
.line 250
if-nez p0, :cond_a
.line 252
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "no signature algorithm specified"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 255
:cond_a
invoke-static {p1, p2}, Lorg/spongycastle/x509/X509Util;->getSignatureInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
.line 257
if-eqz p4, :cond_25
.line 259
invoke-virtual {v0, p3, p4}, Ljava/security/Signature;->initSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
.line 266
:goto_13
invoke-interface {p5}, Lorg/spongycastle/asn1/ASN1Encodable;->toASN1Primitive()Lorg/spongycastle/asn1/ASN1Primitive;
move-result-object v1
const-string v2, "DER"
invoke-virtual {v1, v2}, Lorg/spongycastle/asn1/ASN1Primitive;->getEncoded(Ljava/lang/String;)[B
move-result-object v1
invoke-virtual {v0, v1}, Ljava/security/Signature;->update([B)V
.line 268
invoke-virtual {v0}, Ljava/security/Signature;->sign()[B
move-result-object v0
return-object v0
.line 263
:cond_25
invoke-virtual {v0, p3}, Ljava/security/Signature;->initSign(Ljava/security/PrivateKey;)V
goto :goto_13
.end method
.method static calculateSignature(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;Ljava/security/PrivateKey;Ljava/security/SecureRandom;Lorg/spongycastle/asn1/ASN1Encodable;)[B
.registers 8
.prologue
.line 218
if-nez p0, :cond_a
.line 220
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "no signature algorithm specified"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 223
:cond_a
invoke-static {p1}, Lorg/spongycastle/x509/X509Util;->getSignatureInstance(Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
.line 225
if-eqz p3, :cond_25
.line 227
invoke-virtual {v0, p2, p3}, Ljava/security/Signature;->initSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
.line 234
:goto_13
invoke-interface {p4}, Lorg/spongycastle/asn1/ASN1Encodable;->toASN1Primitive()Lorg/spongycastle/asn1/ASN1Primitive;
move-result-object v1
const-string v2, "DER"
invoke-virtual {v1, v2}, Lorg/spongycastle/asn1/ASN1Primitive;->getEncoded(Ljava/lang/String;)[B
move-result-object v1
invoke-virtual {v0, v1}, Ljava/security/Signature;->update([B)V
.line 236
invoke-virtual {v0}, Ljava/security/Signature;->sign()[B
move-result-object v0
return-object v0
.line 231
:cond_25
invoke-virtual {v0, p2}, Ljava/security/Signature;->initSign(Ljava/security/PrivateKey;)V
goto :goto_13
.end method
.method static convertPrincipal(Ljavax/security/auth/x500/X500Principal;)Lorg/spongycastle/jce/X509Principal;
.registers 3
.prologue
.line 276
:try_start_0
new-instance v0, Lorg/spongycastle/jce/X509Principal;
invoke-virtual {p0}, Ljavax/security/auth/x500/X500Principal;->getEncoded()[B
move-result-object v1
invoke-direct {v0, v1}, Lorg/spongycastle/jce/X509Principal;-><init>([B)V
:try_end_9
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_9} :catch_a
return-object v0
.line 280
:catch_a
move-exception v0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "cannot convert principal"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static creatPSSParams(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;I)Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
.registers 8
.prologue
.line 132
new-instance v0, Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;
new-instance v1, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v2, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->id_mgf1:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-direct {v1, v2, p0}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
new-instance v2, Lorg/spongycastle/asn1/ASN1Integer;
int-to-long v4, p1
invoke-direct {v2, v4, v5}, Lorg/spongycastle/asn1/ASN1Integer;-><init>(J)V
new-instance v3, Lorg/spongycastle/asn1/ASN1Integer;
const-wide/16 v4, 0x1
invoke-direct {v3, v4, v5}, Lorg/spongycastle/asn1/ASN1Integer;-><init>(J)V
invoke-direct {v0, p0, v1, v2, v3}, Lorg/spongycastle/asn1/pkcs/RSASSAPSSparams;-><init>(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;Lorg/spongycastle/asn1/ASN1Integer;Lorg/spongycastle/asn1/ASN1Integer;)V
return-object v0
.end method
.method static getAlgNames()Ljava/util/Iterator;
.registers 3
.prologue
.line 175
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
invoke-virtual {v0}, Ljava/util/Hashtable;->keys()Ljava/util/Enumeration;
move-result-object v0
.line 176
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 178
:goto_b
invoke-interface {v0}, Ljava/util/Enumeration;->hasMoreElements()Z
move-result v2
if-eqz v2, :cond_19
.line 180
invoke-interface {v0}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;
move-result-object v2
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_b
.line 183
:cond_19
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method static getAlgorithmOID(Ljava/lang/String;)Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
.registers 3
.prologue
.line 142
invoke-static {p0}, Lorg/spongycastle/util/Strings;->toUpperCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 144
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
invoke-virtual {v0, v1}, Ljava/util/Hashtable;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_15
.line 146
sget-object v0, Lorg/spongycastle/x509/X509Util;->algorithms:Ljava/util/Hashtable;
invoke-virtual {v0, v1}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
.line 149
:goto_14
return-object v0
:cond_15
new-instance v0, Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
invoke-direct {v0, v1}, Lorg/spongycastle/asn1/ASN1ObjectIdentifier;-><init>(Ljava/lang/String;)V
goto :goto_14
.end method
.method static getImplementation(Ljava/lang/String;Ljava/lang/String;)Lorg/spongycastle/x509/X509Util$Implementation;
.registers 6
.prologue
.line 371
invoke-static {}, Ljava/security/Security;->getProviders()[Ljava/security/Provider;
move-result-object v1
.line 376
const/4 v0, 0x0
:goto_5
array-length v2, v1
if-eq v0, v2, :cond_1d
.line 381
invoke-static {p1}, Lorg/spongycastle/util/Strings;->toUpperCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
aget-object v3, v1, v0
invoke-static {p0, v2, v3}, Lorg/spongycastle/x509/X509Util;->getImplementation(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Lorg/spongycastle/x509/X509Util$Implementation;
move-result-object v2
.line 382
if-eqz v2, :cond_15
.line 384
return-object v2
.line 389
:cond_15
:try_start_15
aget-object v2, v1, v0
invoke-static {p0, p1, v2}, Lorg/spongycastle/x509/X509Util;->getImplementation(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Lorg/spongycastle/x509/X509Util$Implementation;
:try_end_1a
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_15 .. :try_end_1a} :catch_32
.line 376
:goto_1a
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 397
:cond_1d
new-instance v0, Ljava/security/NoSuchAlgorithmException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "cannot find implementation "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/security/NoSuchAlgorithmException;-><init>(Ljava/lang/String;)V
throw v0
:catch_32
move-exception v2
goto :goto_1a
.end method
.method static getImplementation(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Lorg/spongycastle/x509/X509Util$Implementation;
.registers 8
.prologue
.line 318
invoke-static {p1}, Lorg/spongycastle/util/Strings;->toUpperCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 322
:goto_4
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Alg.Alias."
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/security/Provider;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_25
move-object v0, v1
.line 324
goto :goto_4
.line 327
:cond_25
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/security/Provider;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 329
if-eqz v2, :cond_c7
.line 334
:try_start_42
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
.line 336
if-eqz v1, :cond_5a
.line 338
invoke-virtual {v1, v2}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 345
:goto_50
new-instance v3, Lorg/spongycastle/x509/X509Util$Implementation;
invoke-virtual {v1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v1
invoke-direct {v3, v1, p2}, Lorg/spongycastle/x509/X509Util$Implementation;-><init>(Ljava/lang/Object;Ljava/security/Provider;)V
return-object v3
.line 342
:cond_5a
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
:try_end_5d
.catch Ljava/lang/ClassNotFoundException; {:try_start_42 .. :try_end_5d} :catch_5f
.catch Ljava/lang/Exception; {:try_start_42 .. :try_end_5d} :catch_93
move-result-object v1
goto :goto_50
.line 349
:catch_5f
move-exception v1
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "algorithm "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, " in provider "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 350
invoke-virtual {p2}, Ljava/security/Provider;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, " but no class \""
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "\" found!"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 354
:catch_93
move-exception v1
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "algorithm "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, " in provider "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 355
invoke-virtual {p2}, Ljava/security/Provider;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, " but class \""
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "\" inaccessible!"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 359
:cond_c7
new-instance v1, Ljava/security/NoSuchAlgorithmException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "cannot find implementation "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, " for provider "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p2}, Ljava/security/Provider;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/security/NoSuchAlgorithmException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method static getProvider(Ljava/lang/String;)Ljava/security/Provider;
.registers 4
.prologue
.line 403
invoke-static {p0}, Ljava/security/Security;->getProvider(Ljava/lang/String;)Ljava/security/Provider;
move-result-object v0
.line 405
if-nez v0, :cond_21
.line 407
new-instance v0, Ljava/security/NoSuchProviderException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Provider "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " not found"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/security/NoSuchProviderException;-><init>(Ljava/lang/String;)V
throw v0
.line 410
:cond_21
return-object v0
.end method
.method static getSigAlgID(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
.registers 5
.prologue
.line 156
sget-object v0, Lorg/spongycastle/x509/X509Util;->noParams:Ljava/util/Set;
invoke-interface {v0, p0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_e
.line 158
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
invoke-direct {v0, p0}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;)V
.line 169
:goto_d
return-object v0
.line 161
:cond_e
invoke-static {p1}, Lorg/spongycastle/util/Strings;->toUpperCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 163
sget-object v1, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
invoke-virtual {v1, v0}, Ljava/util/Hashtable;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_29
.line 165
new-instance v1, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v2, Lorg/spongycastle/x509/X509Util;->params:Ljava/util/Hashtable;
invoke-virtual {v2, v0}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/spongycastle/asn1/ASN1Encodable;
invoke-direct {v1, p0, v0}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
move-object v0, v1
goto :goto_d
.line 169
:cond_29
new-instance v0, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v1, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v0, p0, v1}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
goto :goto_d
.end method
.method static getSignatureInstance(Ljava/lang/String;)Ljava/security/Signature;
.registers 2
.prologue
.line 190
invoke-static {p0}, Ljava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
return-object v0
.end method
.method static getSignatureInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
.registers 3
.prologue
.line 198
if-eqz p1, :cond_7
.line 200
invoke-static {p0, p1}, Ljava/security/Signature;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
.line 204
:goto_6
return-object v0
:cond_7
invoke-static {p0}, Ljava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
goto :goto_6
.end method