Home | History | Annotate | Download | only in x509
      1 package org.bouncycastle.asn1.x509;
      2 
      3 import org.bouncycastle.asn1.DERObjectIdentifier;
      4 
      5 /**
      6  * The KeyPurposeId object.
      7  * <pre>
      8  *     KeyPurposeId ::= OBJECT IDENTIFIER
      9  *
     10  *     id-kp ::= OBJECT IDENTIFIER { iso(1) identified-organization(3)
     11  *          dod(6) internet(1) security(5) mechanisms(5) pkix(7) 3}
     12  *
     13  * </pre>
     14  */
     15 public class KeyPurposeId
     16     extends DERObjectIdentifier
     17 {
     18     private static final String id_kp = "1.3.6.1.5.5.7.3";
     19 
     20     /**
     21      * Create a KeyPurposeId from an OID string
     22      *
     23      * @param id OID String.  E.g. "1.3.6.1.5.5.7.3.1"
     24      */
     25     public KeyPurposeId(
     26         String  id)
     27     {
     28         super(id);
     29     }
     30 
     31     /**
     32      * { 2 5 29 37 0 }
     33      */
     34     public static final KeyPurposeId anyExtendedKeyUsage = new KeyPurposeId(X509Extensions.ExtendedKeyUsage.getId() + ".0");
     35     /**
     36      * { id-kp 1 }
     37      */
     38     public static final KeyPurposeId id_kp_serverAuth = new KeyPurposeId(id_kp + ".1");
     39     /**
     40      * { id-kp 2 }
     41      */
     42     public static final KeyPurposeId id_kp_clientAuth = new KeyPurposeId(id_kp + ".2");
     43     /**
     44      * { id-kp 3 }
     45      */
     46     public static final KeyPurposeId id_kp_codeSigning = new KeyPurposeId(id_kp + ".3");
     47     /**
     48      * { id-kp 4 }
     49      */
     50     public static final KeyPurposeId id_kp_emailProtection = new KeyPurposeId(id_kp + ".4");
     51     /**
     52      * Usage deprecated by RFC4945 - was { id-kp 5 }
     53      */
     54     public static final KeyPurposeId id_kp_ipsecEndSystem = new KeyPurposeId(id_kp + ".5");
     55     /**
     56      * Usage deprecated by RFC4945 - was { id-kp 6 }
     57      */
     58     public static final KeyPurposeId id_kp_ipsecTunnel = new KeyPurposeId(id_kp + ".6");
     59     /**
     60      * Usage deprecated by RFC4945 - was { idkp 7 }
     61      */
     62     public static final KeyPurposeId id_kp_ipsecUser = new KeyPurposeId(id_kp + ".7");
     63     /**
     64      * { id-kp 8 }
     65      */
     66     public static final KeyPurposeId id_kp_timeStamping = new KeyPurposeId(id_kp + ".8");
     67     /**
     68      * { id-kp 9 }
     69      */
     70     public static final KeyPurposeId id_kp_OCSPSigning = new KeyPurposeId(id_kp + ".9");
     71     /**
     72      * { id-kp 10 }
     73      */
     74     public static final KeyPurposeId id_kp_dvcs = new KeyPurposeId(id_kp + ".10");
     75     /**
     76      * { id-kp 11 }
     77      */
     78     public static final KeyPurposeId id_kp_sbgpCertAAServerAuth = new KeyPurposeId(id_kp + ".11");
     79     /**
     80      * { id-kp 12 }
     81      */
     82     public static final KeyPurposeId id_kp_scvp_responder = new KeyPurposeId(id_kp + ".12");
     83     /**
     84      * { id-kp 13 }
     85      */
     86     public static final KeyPurposeId id_kp_eapOverPPP = new KeyPurposeId(id_kp + ".13");
     87     /**
     88      * { id-kp 14 }
     89      */
     90     public static final KeyPurposeId id_kp_eapOverLAN = new KeyPurposeId(id_kp + ".14");
     91     /**
     92      * { id-kp 15 }
     93      */
     94     public static final KeyPurposeId id_kp_scvpServer = new KeyPurposeId(id_kp + ".15");
     95     /**
     96      * { id-kp 16 }
     97      */
     98     public static final KeyPurposeId id_kp_scvpClient = new KeyPurposeId(id_kp + ".16");
     99     /**
    100      * { id-kp 17 }
    101      */
    102     public static final KeyPurposeId id_kp_ipsecIKE = new KeyPurposeId(id_kp + ".17");
    103     /**
    104      * { id-kp 18 }
    105      */
    106     public static final KeyPurposeId id_kp_capwapAC = new KeyPurposeId(id_kp + ".18");
    107     /**
    108      * { id-kp 19 }
    109      */
    110     public static final KeyPurposeId id_kp_capwapWTP = new KeyPurposeId(id_kp + ".19");
    111 
    112     //
    113     // microsoft key purpose ids
    114     //
    115     /**
    116      * { 1 3 6 1 4 1 311 20 2 2 }
    117      */
    118     public static final KeyPurposeId id_kp_smartcardlogon = new KeyPurposeId("1.3.6.1.4.1.311.20.2.2");
    119 }
    120