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