1 package org.bouncycastle.asn1.x9; 2 3 import org.bouncycastle.asn1.ASN1ObjectIdentifier; 4 5 public interface X9ObjectIdentifiers 6 { 7 // 8 // X9.62 9 // 10 // ansi-X9-62 OBJECT IDENTIFIER ::= { iso(1) member-body(2) 11 // us(840) ansi-x962(10045) } 12 // 13 static final ASN1ObjectIdentifier ansi_X9_62 = new ASN1ObjectIdentifier("1.2.840.10045"); 14 static final ASN1ObjectIdentifier id_fieldType = ansi_X9_62.branch("1"); 15 16 static final ASN1ObjectIdentifier prime_field = id_fieldType.branch("1"); 17 18 static final ASN1ObjectIdentifier characteristic_two_field = id_fieldType.branch("2"); 19 20 static final ASN1ObjectIdentifier gnBasis = id_fieldType.branch("2.3.1"); 21 22 static final ASN1ObjectIdentifier tpBasis = id_fieldType.branch("2.3.2"); 23 24 static final ASN1ObjectIdentifier ppBasis = id_fieldType.branch("2.3.3"); 25 26 static final ASN1ObjectIdentifier id_ecSigType = ansi_X9_62.branch("4"); 27 28 static final ASN1ObjectIdentifier ecdsa_with_SHA1 = new ASN1ObjectIdentifier(id_ecSigType + ".1"); 29 30 static final ASN1ObjectIdentifier id_publicKeyType = ansi_X9_62.branch("2"); 31 32 static final ASN1ObjectIdentifier id_ecPublicKey = id_publicKeyType.branch("1"); 33 34 static final ASN1ObjectIdentifier ecdsa_with_SHA2 = id_ecSigType.branch("3"); 35 36 static final ASN1ObjectIdentifier ecdsa_with_SHA224 = ecdsa_with_SHA2.branch("1"); 37 38 static final ASN1ObjectIdentifier ecdsa_with_SHA256 = ecdsa_with_SHA2.branch("2"); 39 40 static final ASN1ObjectIdentifier ecdsa_with_SHA384 = ecdsa_with_SHA2.branch("3"); 41 42 static final ASN1ObjectIdentifier ecdsa_with_SHA512 = ecdsa_with_SHA2.branch("4"); 43 44 // 45 // named curves 46 // 47 static final ASN1ObjectIdentifier ellipticCurve = ansi_X9_62.branch("3"); 48 49 // 50 // Two Curves 51 // 52 static final ASN1ObjectIdentifier cTwoCurve = ellipticCurve.branch("0"); 53 54 static final ASN1ObjectIdentifier c2pnb163v1 = cTwoCurve.branch("1"); 55 static final ASN1ObjectIdentifier c2pnb163v2 = cTwoCurve.branch("2"); 56 static final ASN1ObjectIdentifier c2pnb163v3 = cTwoCurve.branch("3"); 57 static final ASN1ObjectIdentifier c2pnb176w1 = cTwoCurve.branch("4"); 58 static final ASN1ObjectIdentifier c2tnb191v1 = cTwoCurve.branch("5"); 59 static final ASN1ObjectIdentifier c2tnb191v2 = cTwoCurve.branch("6"); 60 static final ASN1ObjectIdentifier c2tnb191v3 = cTwoCurve.branch("7"); 61 static final ASN1ObjectIdentifier c2onb191v4 = cTwoCurve.branch("8"); 62 static final ASN1ObjectIdentifier c2onb191v5 = cTwoCurve.branch("9"); 63 static final ASN1ObjectIdentifier c2pnb208w1 = cTwoCurve.branch("10"); 64 static final ASN1ObjectIdentifier c2tnb239v1 = cTwoCurve.branch("11"); 65 static final ASN1ObjectIdentifier c2tnb239v2 = cTwoCurve.branch("12"); 66 static final ASN1ObjectIdentifier c2tnb239v3 = cTwoCurve.branch("13"); 67 static final ASN1ObjectIdentifier c2onb239v4 = cTwoCurve.branch("14"); 68 static final ASN1ObjectIdentifier c2onb239v5 = cTwoCurve.branch("15"); 69 static final ASN1ObjectIdentifier c2pnb272w1 = cTwoCurve.branch("16"); 70 static final ASN1ObjectIdentifier c2pnb304w1 = cTwoCurve.branch("17"); 71 static final ASN1ObjectIdentifier c2tnb359v1 = cTwoCurve.branch("18"); 72 static final ASN1ObjectIdentifier c2pnb368w1 = cTwoCurve.branch("19"); 73 static final ASN1ObjectIdentifier c2tnb431r1 = cTwoCurve.branch("20"); 74 75 // 76 // Prime 77 // 78 static final ASN1ObjectIdentifier primeCurve = ellipticCurve.branch("1"); 79 80 static final ASN1ObjectIdentifier prime192v1 = primeCurve.branch("1"); 81 static final ASN1ObjectIdentifier prime192v2 = primeCurve.branch("2"); 82 static final ASN1ObjectIdentifier prime192v3 = primeCurve.branch("3"); 83 static final ASN1ObjectIdentifier prime239v1 = primeCurve.branch("4"); 84 static final ASN1ObjectIdentifier prime239v2 = primeCurve.branch("5"); 85 static final ASN1ObjectIdentifier prime239v3 = primeCurve.branch("6"); 86 static final ASN1ObjectIdentifier prime256v1 = primeCurve.branch("7"); 87 88 // 89 // DSA 90 // 91 // dsapublicnumber OBJECT IDENTIFIER ::= { iso(1) member-body(2) 92 // us(840) ansi-x957(10040) number-type(4) 1 } 93 static final ASN1ObjectIdentifier id_dsa = new ASN1ObjectIdentifier("1.2.840.10040.4.1"); 94 95 /** 96 * id-dsa-with-sha1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) x9-57 97 * (10040) x9cm(4) 3 } 98 */ 99 public static final ASN1ObjectIdentifier id_dsa_with_sha1 = new ASN1ObjectIdentifier("1.2.840.10040.4.3"); 100 101 /** 102 * X9.63 103 */ 104 public static final ASN1ObjectIdentifier x9_63_scheme = new ASN1ObjectIdentifier("1.3.133.16.840.63.0"); 105 public static final ASN1ObjectIdentifier dhSinglePass_stdDH_sha1kdf_scheme = x9_63_scheme.branch("2"); 106 public static final ASN1ObjectIdentifier dhSinglePass_cofactorDH_sha1kdf_scheme = x9_63_scheme.branch("3"); 107 public static final ASN1ObjectIdentifier mqvSinglePass_sha1kdf_scheme = x9_63_scheme.branch("16"); 108 109 /** 110 * X9.42 111 */ 112 113 static final ASN1ObjectIdentifier ansi_X9_42 = new ASN1ObjectIdentifier("1.2.840.10046"); 114 115 // 116 // Diffie-Hellman 117 // 118 // dhpublicnumber OBJECT IDENTIFIER ::= { iso(1) member-body(2) 119 // us(840) ansi-x942(10046) number-type(2) 1 } 120 // 121 public static final ASN1ObjectIdentifier dhpublicnumber = ansi_X9_42.branch("2.1"); 122 123 public static final ASN1ObjectIdentifier x9_42_schemes = ansi_X9_42.branch("3"); 124 public static final ASN1ObjectIdentifier dhStatic = x9_42_schemes.branch("1"); 125 public static final ASN1ObjectIdentifier dhEphem = x9_42_schemes.branch("2"); 126 public static final ASN1ObjectIdentifier dhOneFlow = x9_42_schemes.branch("3"); 127 public static final ASN1ObjectIdentifier dhHybrid1 = x9_42_schemes.branch("4"); 128 public static final ASN1ObjectIdentifier dhHybrid2 = x9_42_schemes.branch("5"); 129 public static final ASN1ObjectIdentifier dhHybridOneFlow = x9_42_schemes.branch("6"); 130 public static final ASN1ObjectIdentifier mqv2 = x9_42_schemes.branch("7"); 131 public static final ASN1ObjectIdentifier mqv1 = x9_42_schemes.branch("8"); 132 } 133