1 package org.bouncycastle.asn1.eac;
2 
3 import org.bouncycastle.asn1.ASN1ObjectIdentifier;
4 
5 /**
6  * German Federal Office for Information Security
7  * (Bundesamt für Sicherheit in der Informationstechnik)
8  * <a href="http://www.bsi.bund.de/">http://www.bsi.bund.de/</a>
9  * <p>
10  * <a href="https://www.bsi.bund.de/EN/Publications/TechnicalGuidelines/TR03110/BSITR03110.html">BSI TR-03110</a>
11  * Technical Guideline Advanced Security Mechanisms for Machine Readable Travel Documents
12  * <p>
13  * <a href="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TR03110/TR-03110_v2.1_P3pdf.pdf">
14  * Technical Guideline TR-03110-3</a>
15  * Advanced Security Mechanisms for Machine Readable Travel Documents;
16  * Part 3: Common Specifications.
17  */
18 public interface EACObjectIdentifiers
19 {
20     /**
21      * <pre>
22      * bsi-de OBJECT IDENTIFIER ::= {
23      *     itu-t(0) identified-organization(4) etsi(0)
24      *     reserved(127) etsi-identified-organization(0) 7
25      * }
26      * </pre>
27      * OID: 0.4.0.127.0.7
28      */
29     static final ASN1ObjectIdentifier    bsi_de      = new ASN1ObjectIdentifier("0.4.0.127.0.7");
30 
31     /**
32      * <pre>
33      * id-PK OBJECT IDENTIFIER ::= {
34      *     bsi-de protocols(2) smartcard(2) 1
35      * }
36      * </pre>
37      * OID: 0.4.0.127.0.7.2.2.1
38      */
39     static final ASN1ObjectIdentifier    id_PK      = bsi_de.branch("2.2.1");
40 
41     /** OID: 0.4.0.127.0.7.2.2.1.1 */
42     static final ASN1ObjectIdentifier    id_PK_DH   = id_PK.branch("1");
43     /** OID: 0.4.0.127.0.7.2.2.1.2 */
44     static final ASN1ObjectIdentifier    id_PK_ECDH = id_PK.branch("2");
45 
46     /**
47      * <pre>
48      * id-CA OBJECT IDENTIFIER ::= {
49      *     bsi-de protocols(2) smartcard(2) 3
50      * }
51      * </pre>
52      * OID: 0.4.0.127.0.7.2.2.3
53      */
54     static final ASN1ObjectIdentifier    id_CA                   = bsi_de.branch("2.2.3");
55     /** OID: 0.4.0.127.0.7.2.2.3.1 */
56     static final ASN1ObjectIdentifier    id_CA_DH                = id_CA.branch("1");
57     /** OID: 0.4.0.127.0.7.2.2.3.1.1 */
58     static final ASN1ObjectIdentifier    id_CA_DH_3DES_CBC_CBC   = id_CA_DH.branch("1");
59     /** OID: 0.4.0.127.0.7.2.2.3.2 */
60     static final ASN1ObjectIdentifier    id_CA_ECDH              = id_CA.branch("2");
61     /** OID: 0.4.0.127.0.7.2.2.3.2.1 */
62     static final ASN1ObjectIdentifier    id_CA_ECDH_3DES_CBC_CBC = id_CA_ECDH.branch("1");
63 
64     /**
65      * <pre>
66      * id-TA OBJECT IDENTIFIER ::= {
67      *     bsi-de protocols(2) smartcard(2) 2
68      * }
69      * </pre>
70      * OID: 0.4.0.127.0.7.2.2.2
71      */
72     static final ASN1ObjectIdentifier    id_TA = bsi_de.branch("2.2.2");
73 
74     /** OID: 0.4.0.127.0.7.2.2.2.1 */
75     static final ASN1ObjectIdentifier    id_TA_RSA              = id_TA.branch("1");
76     /** OID: 0.4.0.127.0.7.2.2.2.1.1 */
77     static final ASN1ObjectIdentifier    id_TA_RSA_v1_5_SHA_1   = id_TA_RSA.branch("1");
78     /** OID: 0.4.0.127.0.7.2.2.2.1.2 */
79     static final ASN1ObjectIdentifier    id_TA_RSA_v1_5_SHA_256 = id_TA_RSA.branch("2");
80     /** OID: 0.4.0.127.0.7.2.2.2.1.3 */
81     static final ASN1ObjectIdentifier    id_TA_RSA_PSS_SHA_1    = id_TA_RSA.branch("3");
82     /** OID: 0.4.0.127.0.7.2.2.2.1.4 */
83     static final ASN1ObjectIdentifier    id_TA_RSA_PSS_SHA_256  = id_TA_RSA.branch("4");
84     /** OID: 0.4.0.127.0.7.2.2.2.1.5 */
85     static final ASN1ObjectIdentifier    id_TA_RSA_v1_5_SHA_512 = id_TA_RSA.branch("5");
86     /** OID: 0.4.0.127.0.7.2.2.2.1.6 */
87     static final ASN1ObjectIdentifier    id_TA_RSA_PSS_SHA_512  = id_TA_RSA.branch("6");
88     /** OID: 0.4.0.127.0.7.2.2.2.2 */
89     static final ASN1ObjectIdentifier    id_TA_ECDSA            = id_TA.branch("2");
90     /** OID: 0.4.0.127.0.7.2.2.2.2.1 */
91     static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_1      = id_TA_ECDSA.branch("1");
92     /** OID: 0.4.0.127.0.7.2.2.2.2.2 */
93     static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_224    = id_TA_ECDSA.branch("2");
94     /** OID: 0.4.0.127.0.7.2.2.2.2.3 */
95     static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_256    = id_TA_ECDSA.branch("3");
96     /** OID: 0.4.0.127.0.7.2.2.2.2.4 */
97     static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_384    = id_TA_ECDSA.branch("4");
98     /** OID: 0.4.0.127.0.7.2.2.2.2.5 */
99     static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_512    = id_TA_ECDSA.branch("5");
100 
101     /**
102      * <pre>
103      * id-EAC-ePassport OBJECT IDENTIFIER ::= {
104      *     bsi-de applications(3) mrtd(1) roles(2) 1
105      * }
106      * </pre>
107      * OID: 0.4.0.127.0.7.3.1.2.1
108      */
109     static final ASN1ObjectIdentifier id_EAC_ePassport = bsi_de.branch("3.1.2.1");
110 }
111