Home | History | Annotate | Download | only in pkcs
      1 package org.bouncycastle.asn1.pkcs;
      2 
      3 import org.bouncycastle.asn1.ASN1ObjectIdentifier;
      4 
      5 /**
      6  * pkcs-1 OBJECT IDENTIFIER ::=<p>
      7  *   { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
      8  *
      9  */
     10 public interface PKCSObjectIdentifiers
     11 {
     12     /** PKCS#1: 1.2.840.113549.1.1 */
     13     static final ASN1ObjectIdentifier    pkcs_1                    = new ASN1ObjectIdentifier("1.2.840.113549.1.1");
     14     /** PKCS#1: 1.2.840.113549.1.1.1 */
     15     static final ASN1ObjectIdentifier    rsaEncryption             = pkcs_1.branch("1");
     16     // BEGIN Android-removed: MD2 and MD4 are unsupported
     17     /*
     18     /** PKCS#1: 1.2.840.113549.1.1.2 *
     19     static final ASN1ObjectIdentifier    md2WithRSAEncryption      = pkcs_1.branch("2");
     20     /** PKCS#1: 1.2.840.113549.1.1.3 *
     21     static final ASN1ObjectIdentifier    md4WithRSAEncryption      = pkcs_1.branch("3");
     22     */
     23     // END Android-removed: MD2 and MD4 are unsupported
     24     /** PKCS#1: 1.2.840.113549.1.1.4 */
     25     static final ASN1ObjectIdentifier    md5WithRSAEncryption      = pkcs_1.branch("4");
     26     /** PKCS#1: 1.2.840.113549.1.1.5 */
     27     static final ASN1ObjectIdentifier    sha1WithRSAEncryption     = pkcs_1.branch("5");
     28     /** PKCS#1: 1.2.840.113549.1.1.6 */
     29     static final ASN1ObjectIdentifier    srsaOAEPEncryptionSET     = pkcs_1.branch("6");
     30     /** PKCS#1: 1.2.840.113549.1.1.7 */
     31     static final ASN1ObjectIdentifier    id_RSAES_OAEP             = pkcs_1.branch("7");
     32     /** PKCS#1: 1.2.840.113549.1.1.8 */
     33     static final ASN1ObjectIdentifier    id_mgf1                   = pkcs_1.branch("8");
     34     /** PKCS#1: 1.2.840.113549.1.1.9 */
     35     static final ASN1ObjectIdentifier    id_pSpecified             = pkcs_1.branch("9");
     36     /** PKCS#1: 1.2.840.113549.1.1.10 */
     37     static final ASN1ObjectIdentifier    id_RSASSA_PSS             = pkcs_1.branch("10");
     38     /** PKCS#1: 1.2.840.113549.1.1.11 */
     39     static final ASN1ObjectIdentifier    sha256WithRSAEncryption   = pkcs_1.branch("11");
     40     /** PKCS#1: 1.2.840.113549.1.1.12 */
     41     static final ASN1ObjectIdentifier    sha384WithRSAEncryption   = pkcs_1.branch("12");
     42     /** PKCS#1: 1.2.840.113549.1.1.13 */
     43     static final ASN1ObjectIdentifier    sha512WithRSAEncryption   = pkcs_1.branch("13");
     44     /** PKCS#1: 1.2.840.113549.1.1.14 */
     45     static final ASN1ObjectIdentifier    sha224WithRSAEncryption   = pkcs_1.branch("14");
     46     /** PKCS#1: 1.2.840.113549.1.1.15 */
     47     ASN1ObjectIdentifier    sha512_224WithRSAEncryption   = pkcs_1.branch("15");
     48     /** PKCS#1: 1.2.840.113549.1.1.16 */
     49     ASN1ObjectIdentifier    sha512_256WithRSAEncryption   = pkcs_1.branch("16");
     50 
     51     //
     52     // pkcs-3 OBJECT IDENTIFIER ::= {
     53     //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 3 }
     54     //
     55     /** PKCS#3: 1.2.840.113549.1.3 */
     56     static final ASN1ObjectIdentifier    pkcs_3                  = new ASN1ObjectIdentifier("1.2.840.113549.1.3");
     57     /** PKCS#3: 1.2.840.113549.1.3.1 */
     58     static final ASN1ObjectIdentifier    dhKeyAgreement          = pkcs_3.branch("1");
     59 
     60     //
     61     // pkcs-5 OBJECT IDENTIFIER ::= {
     62     //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 5 }
     63     //
     64     /** PKCS#5: 1.2.840.113549.1.5 */
     65     static final ASN1ObjectIdentifier    pkcs_5                  = new ASN1ObjectIdentifier("1.2.840.113549.1.5");
     66 
     67     /** PKCS#5: 1.2.840.113549.1.5.1 */
     68     static final ASN1ObjectIdentifier    pbeWithMD2AndDES_CBC    = pkcs_5.branch("1");
     69     /** PKCS#5: 1.2.840.113549.1.5.4 */
     70     static final ASN1ObjectIdentifier    pbeWithMD2AndRC2_CBC    = pkcs_5.branch("4");
     71     /** PKCS#5: 1.2.840.113549.1.5.3 */
     72     static final ASN1ObjectIdentifier    pbeWithMD5AndDES_CBC    = pkcs_5.branch("3");
     73     /** PKCS#5: 1.2.840.113549.1.5.6 */
     74     static final ASN1ObjectIdentifier    pbeWithMD5AndRC2_CBC    = pkcs_5.branch("6");
     75     /** PKCS#5: 1.2.840.113549.1.5.10 */
     76     static final ASN1ObjectIdentifier    pbeWithSHA1AndDES_CBC   = pkcs_5.branch("10");
     77     /** PKCS#5: 1.2.840.113549.1.5.11 */
     78     static final ASN1ObjectIdentifier    pbeWithSHA1AndRC2_CBC   = pkcs_5.branch("11");
     79     /** PKCS#5: 1.2.840.113549.1.5.13 */
     80     static final ASN1ObjectIdentifier    id_PBES2                = pkcs_5.branch("13");
     81     /** PKCS#5: 1.2.840.113549.1.5.12 */
     82     static final ASN1ObjectIdentifier    id_PBKDF2               = pkcs_5.branch("12");
     83 
     84     //
     85     // encryptionAlgorithm OBJECT IDENTIFIER ::= {
     86     //       iso(1) member-body(2) us(840) rsadsi(113549) 3 }
     87     //
     88     /**  1.2.840.113549.3 */
     89     static final ASN1ObjectIdentifier    encryptionAlgorithm     = new ASN1ObjectIdentifier("1.2.840.113549.3");
     90 
     91     /**  1.2.840.113549.3.7 */
     92     static final ASN1ObjectIdentifier    des_EDE3_CBC            = encryptionAlgorithm.branch("7");
     93     /**  1.2.840.113549.3.2 */
     94     static final ASN1ObjectIdentifier    RC2_CBC                 = encryptionAlgorithm.branch("2");
     95     /**  1.2.840.113549.3.4 */
     96     static final ASN1ObjectIdentifier    rc4                     = encryptionAlgorithm.branch("4");
     97 
     98     //
     99     // object identifiers for digests
    100     //
    101     /**  1.2.840.113549.2 */
    102     static final ASN1ObjectIdentifier    digestAlgorithm        = new ASN1ObjectIdentifier("1.2.840.113549.2");
    103     //
    104     // md2 OBJECT IDENTIFIER ::=
    105     //      {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 2}
    106     //
    107     // BEGIN android-removed
    108     // /**  1.2.840.113549.2.2 */
    109     // static final ASN1ObjectIdentifier    md2                    = digestAlgorithm.branch("2");
    110     // END android-removed
    111 
    112     //
    113     // md4 OBJECT IDENTIFIER ::=
    114     //      {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 4}
    115     //
    116     // BEGIN android-removed
    117     // /**  1.2.840.113549.2.4 */
    118     // static final ASN1ObjectIdentifier    md4                    = digestAlgorithm.branch("4");
    119     // END android-removed
    120 
    121     //
    122     // md5 OBJECT IDENTIFIER ::=
    123     //      {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 5}
    124     //
    125     /**  1.2.840.113549.2.5 */
    126     static final ASN1ObjectIdentifier    md5                    = digestAlgorithm.branch("5");
    127 
    128     /**  1.2.840.113549.2.7 */
    129     static final ASN1ObjectIdentifier    id_hmacWithSHA1        = digestAlgorithm.branch("7").intern();
    130     /**  1.2.840.113549.2.8 */
    131     static final ASN1ObjectIdentifier    id_hmacWithSHA224      = digestAlgorithm.branch("8").intern();
    132     /**  1.2.840.113549.2.9 */
    133     static final ASN1ObjectIdentifier    id_hmacWithSHA256      = digestAlgorithm.branch("9").intern();
    134     /**  1.2.840.113549.2.10 */
    135     static final ASN1ObjectIdentifier    id_hmacWithSHA384      = digestAlgorithm.branch("10").intern();
    136     /**  1.2.840.113549.2.11 */
    137     static final ASN1ObjectIdentifier    id_hmacWithSHA512      = digestAlgorithm.branch("11").intern();
    138 
    139     //
    140     // pkcs-7 OBJECT IDENTIFIER ::= {
    141     //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 7 }
    142     //
    143     /** pkcs#7: 1.2.840.113549.1.7 */
    144     static final ASN1ObjectIdentifier    pkcs_7                  = new ASN1ObjectIdentifier("1.2.840.113549.1.7").intern();
    145     /** PKCS#7: 1.2.840.113549.1.7.1 */
    146     static final ASN1ObjectIdentifier    data                    = new ASN1ObjectIdentifier("1.2.840.113549.1.7.1").intern();
    147     /** PKCS#7: 1.2.840.113549.1.7.2 */
    148     static final ASN1ObjectIdentifier    signedData              = new ASN1ObjectIdentifier("1.2.840.113549.1.7.2").intern();
    149     /** PKCS#7: 1.2.840.113549.1.7.3 */
    150     static final ASN1ObjectIdentifier    envelopedData           = new ASN1ObjectIdentifier("1.2.840.113549.1.7.3").intern();
    151     /** PKCS#7: 1.2.840.113549.1.7.4 */
    152     static final ASN1ObjectIdentifier    signedAndEnvelopedData  = new ASN1ObjectIdentifier("1.2.840.113549.1.7.4").intern();
    153     /** PKCS#7: 1.2.840.113549.1.7.5 */
    154     static final ASN1ObjectIdentifier    digestedData            = new ASN1ObjectIdentifier("1.2.840.113549.1.7.5").intern();
    155     /** PKCS#7: 1.2.840.113549.1.7.76 */
    156     static final ASN1ObjectIdentifier    encryptedData           = new ASN1ObjectIdentifier("1.2.840.113549.1.7.6").intern();
    157 
    158     //
    159     // pkcs-9 OBJECT IDENTIFIER ::= {
    160     //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
    161     //
    162     /** PKCS#9: 1.2.840.113549.1.9 */
    163     static final ASN1ObjectIdentifier    pkcs_9                  = new ASN1ObjectIdentifier("1.2.840.113549.1.9");
    164 
    165     /** PKCS#9: 1.2.840.113549.1.9.1 */
    166     static final ASN1ObjectIdentifier    pkcs_9_at_emailAddress        = pkcs_9.branch("1").intern();
    167     /** PKCS#9: 1.2.840.113549.1.9.2 */
    168     static final ASN1ObjectIdentifier    pkcs_9_at_unstructuredName    = pkcs_9.branch("2").intern();
    169     /** PKCS#9: 1.2.840.113549.1.9.3 */
    170     static final ASN1ObjectIdentifier    pkcs_9_at_contentType         = pkcs_9.branch("3").intern();
    171     /** PKCS#9: 1.2.840.113549.1.9.4 */
    172     static final ASN1ObjectIdentifier    pkcs_9_at_messageDigest       = pkcs_9.branch("4").intern();
    173     /** PKCS#9: 1.2.840.113549.1.9.5 */
    174     static final ASN1ObjectIdentifier    pkcs_9_at_signingTime         = pkcs_9.branch("5").intern();
    175     /** PKCS#9: 1.2.840.113549.1.9.6 */
    176     static final ASN1ObjectIdentifier    pkcs_9_at_counterSignature    = pkcs_9.branch("6").intern();
    177     /** PKCS#9: 1.2.840.113549.1.9.7 */
    178     static final ASN1ObjectIdentifier    pkcs_9_at_challengePassword   = pkcs_9.branch("7").intern();
    179     /** PKCS#9: 1.2.840.113549.1.9.8 */
    180     static final ASN1ObjectIdentifier    pkcs_9_at_unstructuredAddress = pkcs_9.branch("8").intern();
    181     /** PKCS#9: 1.2.840.113549.1.9.9 */
    182     static final ASN1ObjectIdentifier    pkcs_9_at_extendedCertificateAttributes = pkcs_9.branch("9").intern();
    183 
    184     /** PKCS#9: 1.2.840.113549.1.9.13 */
    185     static final ASN1ObjectIdentifier    pkcs_9_at_signingDescription = pkcs_9.branch("13").intern();
    186     /** PKCS#9: 1.2.840.113549.1.9.14 */
    187     static final ASN1ObjectIdentifier    pkcs_9_at_extensionRequest   = pkcs_9.branch("14").intern();
    188     /** PKCS#9: 1.2.840.113549.1.9.15 */
    189     static final ASN1ObjectIdentifier    pkcs_9_at_smimeCapabilities  = pkcs_9.branch("15").intern();
    190     /** PKCS#9: 1.2.840.113549.1.9.16 */
    191     static final ASN1ObjectIdentifier    id_smime                     = pkcs_9.branch("16").intern();
    192 
    193     /** PKCS#9: 1.2.840.113549.1.9.20 */
    194     static final ASN1ObjectIdentifier    pkcs_9_at_friendlyName  = pkcs_9.branch("20").intern();
    195     /** PKCS#9: 1.2.840.113549.1.9.21 */
    196     static final ASN1ObjectIdentifier    pkcs_9_at_localKeyId    = pkcs_9.branch("21").intern();
    197 
    198     /** PKCS#9: 1.2.840.113549.1.9.22.1
    199      * @deprecated use x509Certificate instead */
    200     static final ASN1ObjectIdentifier    x509certType            = pkcs_9.branch("22.1");
    201 
    202     /** PKCS#9: 1.2.840.113549.1.9.22 */
    203     static final ASN1ObjectIdentifier    certTypes               = pkcs_9.branch("22");
    204     /** PKCS#9: 1.2.840.113549.1.9.22.1 */
    205     static final ASN1ObjectIdentifier    x509Certificate         = certTypes.branch("1").intern();
    206     /** PKCS#9: 1.2.840.113549.1.9.22.2 */
    207     static final ASN1ObjectIdentifier    sdsiCertificate         = certTypes.branch("2").intern();
    208 
    209     /** PKCS#9: 1.2.840.113549.1.9.23 */
    210     static final ASN1ObjectIdentifier    crlTypes                = pkcs_9.branch("23");
    211     /** PKCS#9: 1.2.840.113549.1.9.23.1 */
    212     static final ASN1ObjectIdentifier    x509Crl                 = crlTypes.branch("1").intern();
    213 
    214     /** RFC 6211 -  id-aa-cmsAlgorithmProtect OBJECT IDENTIFIER ::= {
    215             iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
    216             pkcs9(9) 52 }  */
    217     ASN1ObjectIdentifier   id_aa_cmsAlgorithmProtect = pkcs_9.branch("52").intern();
    218 
    219     //
    220     // SMIME capability sub oids.
    221     //
    222     /** PKCS#9: 1.2.840.113549.1.9.15.1 -- smime capability */
    223     static final ASN1ObjectIdentifier    preferSignedData        = pkcs_9.branch("15.1");
    224     /** PKCS#9: 1.2.840.113549.1.9.15.2 -- smime capability  */
    225     static final ASN1ObjectIdentifier    canNotDecryptAny        = pkcs_9.branch("15.2");
    226     /** PKCS#9: 1.2.840.113549.1.9.15.3 -- smime capability  */
    227     static final ASN1ObjectIdentifier    sMIMECapabilitiesVersions = pkcs_9.branch("15.3");
    228 
    229     //
    230     // id-ct OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
    231     // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1)}
    232     //
    233     /** PKCS#9: 1.2.840.113549.1.9.16.1 -- smime ct */
    234     static final ASN1ObjectIdentifier    id_ct = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.1");
    235 
    236     /** PKCS#9: 1.2.840.113549.1.9.16.1.2 -- smime ct authData */
    237     static final ASN1ObjectIdentifier    id_ct_authData          = id_ct.branch("2");
    238     /** PKCS#9: 1.2.840.113549.1.9.16.1.4 -- smime ct TSTInfo*/
    239     static final ASN1ObjectIdentifier    id_ct_TSTInfo           = id_ct.branch("4");
    240     /** PKCS#9: 1.2.840.113549.1.9.16.1.9 -- smime ct compressedData */
    241     static final ASN1ObjectIdentifier    id_ct_compressedData    = id_ct.branch("9");
    242     /** PKCS#9: 1.2.840.113549.1.9.16.1.23 -- smime ct authEnvelopedData */
    243     static final ASN1ObjectIdentifier    id_ct_authEnvelopedData = id_ct.branch("23");
    244     /** PKCS#9: 1.2.840.113549.1.9.16.1.31 -- smime ct timestampedData*/
    245     static final ASN1ObjectIdentifier    id_ct_timestampedData   = id_ct.branch("31");
    246 
    247 
    248     /** S/MIME: Algorithm Identifiers ; 1.2.840.113549.1.9.16.3 */
    249     static final ASN1ObjectIdentifier id_alg                  = id_smime.branch("3");
    250     /** PKCS#9: 1.2.840.113549.1.9.16.3.9 */
    251     static final ASN1ObjectIdentifier id_alg_PWRI_KEK         = id_alg.branch("9");
    252     /**
    253      * <pre>
    254      * -- RSA-KEM Key Transport Algorithm
    255      *
    256      * id-rsa-kem OID ::= {
    257      *      iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
    258      *      pkcs-9(9) smime(16) alg(3) 14
    259      *   }
    260      * </pre>
    261      */
    262     static final ASN1ObjectIdentifier id_rsa_KEM              = id_alg.branch("14");
    263 
    264     //
    265     // id-cti OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
    266     // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) cti(6)}
    267     //
    268     /** PKCS#9: 1.2.840.113549.1.9.16.6 -- smime cti */
    269     static final ASN1ObjectIdentifier    id_cti = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.6");
    270 
    271     /** PKCS#9: 1.2.840.113549.1.9.16.6.1 -- smime cti proofOfOrigin */
    272     static final ASN1ObjectIdentifier    id_cti_ets_proofOfOrigin   = id_cti.branch("1");
    273     /** PKCS#9: 1.2.840.113549.1.9.16.6.2 -- smime cti proofOfReceipt*/
    274     static final ASN1ObjectIdentifier    id_cti_ets_proofOfReceipt  = id_cti.branch("2");
    275     /** PKCS#9: 1.2.840.113549.1.9.16.6.3 -- smime cti proofOfDelivery */
    276     static final ASN1ObjectIdentifier    id_cti_ets_proofOfDelivery = id_cti.branch("3");
    277     /** PKCS#9: 1.2.840.113549.1.9.16.6.4 -- smime cti proofOfSender */
    278     static final ASN1ObjectIdentifier    id_cti_ets_proofOfSender   = id_cti.branch("4");
    279     /** PKCS#9: 1.2.840.113549.1.9.16.6.5 -- smime cti proofOfApproval */
    280     static final ASN1ObjectIdentifier    id_cti_ets_proofOfApproval = id_cti.branch("5");
    281     /** PKCS#9: 1.2.840.113549.1.9.16.6.6 -- smime cti proofOfCreation */
    282     static final ASN1ObjectIdentifier    id_cti_ets_proofOfCreation = id_cti.branch("6");
    283 
    284     //
    285     // id-aa OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
    286     // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) attributes(2)}
    287     //
    288     /** PKCS#9: 1.2.840.113549.1.9.16.6.2 - smime attributes */
    289     static final ASN1ObjectIdentifier    id_aa = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.2");
    290 
    291 
    292     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.1 -- smime attribute receiptRequest */
    293     static final ASN1ObjectIdentifier id_aa_receiptRequest = id_aa.branch("1");
    294 
    295     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.4 - See <a href="http://tools.ietf.org/html/rfc2634">RFC 2634</a> */
    296     static final ASN1ObjectIdentifier id_aa_contentHint      = id_aa.branch("4"); // See RFC 2634
    297     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.5 */
    298     static final ASN1ObjectIdentifier id_aa_msgSigDigest     = id_aa.branch("5");
    299     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.10 */
    300     static final ASN1ObjectIdentifier id_aa_contentReference = id_aa.branch("10");
    301     /*
    302      * id-aa-encrypKeyPref OBJECT IDENTIFIER ::= {id-aa 11}
    303      *
    304      */
    305     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.11 */
    306     static final ASN1ObjectIdentifier id_aa_encrypKeyPref        = id_aa.branch("11");
    307     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.12 */
    308     static final ASN1ObjectIdentifier id_aa_signingCertificate   = id_aa.branch("12");
    309     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.47 */
    310     static final ASN1ObjectIdentifier id_aa_signingCertificateV2 = id_aa.branch("47");
    311 
    312     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.7 - See <a href="http://tools.ietf.org/html/rfc2634">RFC 2634</a> */
    313     static final ASN1ObjectIdentifier id_aa_contentIdentifier = id_aa.branch("7"); // See RFC 2634
    314 
    315     /*
    316      * RFC 3126
    317      */
    318     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.14 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    319     static final ASN1ObjectIdentifier id_aa_signatureTimeStampToken = id_aa.branch("14");
    320 
    321     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.15 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    322     static final ASN1ObjectIdentifier id_aa_ets_sigPolicyId = id_aa.branch("15");
    323     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.16 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    324     static final ASN1ObjectIdentifier id_aa_ets_commitmentType = id_aa.branch("16");
    325     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.17 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    326     static final ASN1ObjectIdentifier id_aa_ets_signerLocation = id_aa.branch("17");
    327     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.18 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    328     static final ASN1ObjectIdentifier id_aa_ets_signerAttr = id_aa.branch("18");
    329     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.19 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    330     static final ASN1ObjectIdentifier id_aa_ets_otherSigCert = id_aa.branch("19");
    331     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.20 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    332     static final ASN1ObjectIdentifier id_aa_ets_contentTimestamp = id_aa.branch("20");
    333     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.21 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    334     static final ASN1ObjectIdentifier id_aa_ets_certificateRefs = id_aa.branch("21");
    335     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.22 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    336     static final ASN1ObjectIdentifier id_aa_ets_revocationRefs = id_aa.branch("22");
    337     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.23 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    338     static final ASN1ObjectIdentifier id_aa_ets_certValues = id_aa.branch("23");
    339     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.24 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    340     static final ASN1ObjectIdentifier id_aa_ets_revocationValues = id_aa.branch("24");
    341     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.25 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    342     static final ASN1ObjectIdentifier id_aa_ets_escTimeStamp = id_aa.branch("25");
    343     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.26 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    344     static final ASN1ObjectIdentifier id_aa_ets_certCRLTimestamp = id_aa.branch("26");
    345     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.27 - <a href="http://tools.ietf.org/html/rfc3126">RFC 3126</a> */
    346     static final ASN1ObjectIdentifier id_aa_ets_archiveTimestamp = id_aa.branch("27");
    347 
    348     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.37 - <a href="https://tools.ietf.org/html/rfc4108#section-2.2.5">RFC 4108</a> */
    349     static final ASN1ObjectIdentifier id_aa_decryptKeyID = id_aa.branch("37");
    350 
    351     /** PKCS#9: 1.2.840.113549.1.9.16.6.2.38 - <a href="https://tools.ietf.org/html/rfc4108#section-2.2.6">RFC 4108</a> */
    352     static final ASN1ObjectIdentifier id_aa_implCryptoAlgs = id_aa.branch("38");
    353 
    354     /** PKCS#9: 1.2.840.113549.1.9.16.2.54 <a href="https://tools.ietf.org/html/rfc7030">RFC7030</a>*/
    355     static final ASN1ObjectIdentifier id_aa_asymmDecryptKeyID = id_aa.branch("54");
    356 
    357     /** PKCS#9: 1.2.840.113549.1.9.16.2.43   <a href="https://tools.ietf.org/html/rfc7030">RFC7030</a>*/
    358     static final ASN1ObjectIdentifier id_aa_implCompressAlgs = id_aa.branch("43");
    359     /** PKCS#9: 1.2.840.113549.1.9.16.2.40   <a href="https://tools.ietf.org/html/rfc7030">RFC7030</a>*/
    360     static final ASN1ObjectIdentifier id_aa_communityIdentifiers = id_aa.branch("40");
    361 
    362     /** @deprecated use id_aa_ets_sigPolicyId instead */
    363     static final ASN1ObjectIdentifier id_aa_sigPolicyId    = id_aa_ets_sigPolicyId;
    364     /** @deprecated use id_aa_ets_commitmentType instead */
    365     static final ASN1ObjectIdentifier id_aa_commitmentType = id_aa_ets_commitmentType;
    366     /** @deprecated use id_aa_ets_signerLocation instead */
    367     static final ASN1ObjectIdentifier id_aa_signerLocation = id_aa_ets_signerLocation;
    368     /** @deprecated use id_aa_ets_otherSigCert instead */
    369     static final ASN1ObjectIdentifier id_aa_otherSigCert   = id_aa_ets_otherSigCert;
    370 
    371     /**
    372      * id-spq OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
    373      * rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-spq(5)}; <p>
    374      * 1.2.840.113549.1.9.16.5
    375      */
    376     final String id_spq = "1.2.840.113549.1.9.16.5";
    377 
    378     /** SMIME SPQ URI:     1.2.840.113549.1.9.16.5.1 */
    379     static final ASN1ObjectIdentifier id_spq_ets_uri     = new ASN1ObjectIdentifier(id_spq + ".1");
    380     /** SMIME SPQ UNOTICE: 1.2.840.113549.1.9.16.5.2 */
    381     static final ASN1ObjectIdentifier id_spq_ets_unotice = new ASN1ObjectIdentifier(id_spq + ".2");
    382 
    383     //
    384     // pkcs-12 OBJECT IDENTIFIER ::= {
    385     //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 12 }
    386     //
    387     /** PKCS#12: 1.2.840.113549.1.12 */
    388     static final ASN1ObjectIdentifier   pkcs_12                  = new ASN1ObjectIdentifier("1.2.840.113549.1.12");
    389     /** PKCS#12: 1.2.840.113549.1.12.10.1 */
    390     static final ASN1ObjectIdentifier   bagtypes                 = pkcs_12.branch("10.1");
    391 
    392     /** PKCS#12: 1.2.840.113549.1.12.10.1.1 */
    393     static final ASN1ObjectIdentifier    keyBag                  = bagtypes.branch("1");
    394     /** PKCS#12: 1.2.840.113549.1.12.10.1.2 */
    395     static final ASN1ObjectIdentifier    pkcs8ShroudedKeyBag     = bagtypes.branch("2");
    396     /** PKCS#12: 1.2.840.113549.1.12.10.1.3 */
    397     static final ASN1ObjectIdentifier    certBag                 = bagtypes.branch("3");
    398     /** PKCS#12: 1.2.840.113549.1.12.10.1.4 */
    399     static final ASN1ObjectIdentifier    crlBag                  = bagtypes.branch("4");
    400     /** PKCS#12: 1.2.840.113549.1.12.10.1.5 */
    401     static final ASN1ObjectIdentifier    secretBag               = bagtypes.branch("5");
    402     /** PKCS#12: 1.2.840.113549.1.12.10.1.6 */
    403     static final ASN1ObjectIdentifier    safeContentsBag         = bagtypes.branch("6");
    404 
    405     /** PKCS#12: 1.2.840.113549.1.12.1 */
    406     static final ASN1ObjectIdentifier    pkcs_12PbeIds           = pkcs_12.branch("1");
    407 
    408     /** PKCS#12: 1.2.840.113549.1.12.1.1 */
    409     static final ASN1ObjectIdentifier    pbeWithSHAAnd128BitRC4          = pkcs_12PbeIds.branch("1");
    410     /** PKCS#12: 1.2.840.113549.1.12.1.2 */
    411     static final ASN1ObjectIdentifier    pbeWithSHAAnd40BitRC4           = pkcs_12PbeIds.branch("2");
    412     /** PKCS#12: 1.2.840.113549.1.12.1.3 */
    413     static final ASN1ObjectIdentifier    pbeWithSHAAnd3_KeyTripleDES_CBC = pkcs_12PbeIds.branch("3");
    414     /** PKCS#12: 1.2.840.113549.1.12.1.4 */
    415     static final ASN1ObjectIdentifier    pbeWithSHAAnd2_KeyTripleDES_CBC = pkcs_12PbeIds.branch("4");
    416     /** PKCS#12: 1.2.840.113549.1.12.1.5 */
    417     static final ASN1ObjectIdentifier    pbeWithSHAAnd128BitRC2_CBC      = pkcs_12PbeIds.branch("5");
    418     /** PKCS#12: 1.2.840.113549.1.12.1.6 */
    419     static final ASN1ObjectIdentifier    pbeWithSHAAnd40BitRC2_CBC       = pkcs_12PbeIds.branch("6");
    420 
    421     /**
    422      * PKCS#12: 1.2.840.113549.1.12.1.6
    423      * @deprecated use pbeWithSHAAnd40BitRC2_CBC
    424      */
    425     static final ASN1ObjectIdentifier    pbewithSHAAnd40BitRC2_CBC = pkcs_12PbeIds.branch("6");
    426 
    427     /** PKCS#9: 1.2.840.113549.1.9.16.3.6 */
    428     static final ASN1ObjectIdentifier    id_alg_CMS3DESwrap = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.3.6");
    429     /** PKCS#9: 1.2.840.113549.1.9.16.3.7 */
    430     static final ASN1ObjectIdentifier    id_alg_CMSRC2wrap  = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.3.7");
    431     /** PKCS#9: 1.2.840.113549.1.9.16.3.5 */
    432     static final ASN1ObjectIdentifier    id_alg_ESDH  = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.3.5");
    433     /** PKCS#9: 1.2.840.113549.1.9.16.3.10 */
    434     static final ASN1ObjectIdentifier    id_alg_SSDH  = new ASN1ObjectIdentifier("1.2.840.113549.1.9.16.3.10");
    435 }
    436 
    437