001package org.apache.commons.ssl.org.bouncycastle.asn1.eac;
002
003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1ObjectIdentifier;
004
005/**
006 * German Federal Office for Information Security
007 * (Bundesamt für Sicherheit in der Informationstechnik)
008 * <a href="http://www.bsi.bund.de/">http://www.bsi.bund.de/</a>
009 * <p>
010 * <a href="https://www.bsi.bund.de/EN/Publications/TechnicalGuidelines/TR03110/BSITR03110.html">BSI TR-03110</a>
011 * Technical Guideline Advanced Security Mechanisms for Machine Readable Travel Documents
012 * <p>
013 * <a href="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TR03110/TR-03110_v2.1_P3pdf.pdf">
014 * Technical Guideline TR-03110-3</a>
015 * Advanced Security Mechanisms for Machine Readable Travel Documents;
016 * Part 3: Common Specifications.
017 */
018public interface EACObjectIdentifiers
019{
020    /**
021     * <pre>
022     * bsi-de OBJECT IDENTIFIER ::= {
023     *     itu-t(0) identified-organization(4) etsi(0)
024     *     reserved(127) etsi-identified-organization(0) 7
025     * }
026     * </pre>
027     * OID: 0.4.0.127.0.7
028     */
029    static final ASN1ObjectIdentifier    bsi_de      = new ASN1ObjectIdentifier("0.4.0.127.0.7");
030
031    /**
032     * <pre>
033     * id-PK OBJECT IDENTIFIER ::= {
034     *     bsi-de protocols(2) smartcard(2) 1
035     * }
036     * </pre>
037     * OID: 0.4.0.127.0.7.2.2.1
038     */
039    static final ASN1ObjectIdentifier    id_PK      = bsi_de.branch("2.2.1");
040
041    /** OID: 0.4.0.127.0.7.2.2.1.1 */
042    static final ASN1ObjectIdentifier    id_PK_DH   = id_PK.branch("1");
043    /** OID: 0.4.0.127.0.7.2.2.1.2 */
044    static final ASN1ObjectIdentifier    id_PK_ECDH = id_PK.branch("2");
045
046    /**
047     * <pre>
048     * id-CA OBJECT IDENTIFIER ::= {
049     *     bsi-de protocols(2) smartcard(2) 3
050     * }
051     * </pre>
052     * OID: 0.4.0.127.0.7.2.2.3
053     */
054    static final ASN1ObjectIdentifier    id_CA                   = bsi_de.branch("2.2.3");
055    /** OID: 0.4.0.127.0.7.2.2.3.1 */
056    static final ASN1ObjectIdentifier    id_CA_DH                = id_CA.branch("1");
057    /** OID: 0.4.0.127.0.7.2.2.3.1.1 */
058    static final ASN1ObjectIdentifier    id_CA_DH_3DES_CBC_CBC   = id_CA_DH.branch("1");
059    /** OID: 0.4.0.127.0.7.2.2.3.2 */
060    static final ASN1ObjectIdentifier    id_CA_ECDH              = id_CA.branch("2");
061    /** OID: 0.4.0.127.0.7.2.2.3.2.1 */
062    static final ASN1ObjectIdentifier    id_CA_ECDH_3DES_CBC_CBC = id_CA_ECDH.branch("1");
063
064    /**
065     * <pre>
066     * id-TA OBJECT IDENTIFIER ::= {
067     *     bsi-de protocols(2) smartcard(2) 2
068     * }
069     * </pre>
070     * OID: 0.4.0.127.0.7.2.2.2
071     */
072    static final ASN1ObjectIdentifier    id_TA = bsi_de.branch("2.2.2");
073
074    /** OID: 0.4.0.127.0.7.2.2.2.1 */
075    static final ASN1ObjectIdentifier    id_TA_RSA              = id_TA.branch("1");
076    /** OID: 0.4.0.127.0.7.2.2.2.1.1 */
077    static final ASN1ObjectIdentifier    id_TA_RSA_v1_5_SHA_1   = id_TA_RSA.branch("1");
078    /** OID: 0.4.0.127.0.7.2.2.2.1.2 */
079    static final ASN1ObjectIdentifier    id_TA_RSA_v1_5_SHA_256 = id_TA_RSA.branch("2");
080    /** OID: 0.4.0.127.0.7.2.2.2.1.3 */
081    static final ASN1ObjectIdentifier    id_TA_RSA_PSS_SHA_1    = id_TA_RSA.branch("3");
082    /** OID: 0.4.0.127.0.7.2.2.2.1.4 */
083    static final ASN1ObjectIdentifier    id_TA_RSA_PSS_SHA_256  = id_TA_RSA.branch("4");
084    /** OID: 0.4.0.127.0.7.2.2.2.1.5 */
085    static final ASN1ObjectIdentifier    id_TA_RSA_v1_5_SHA_512 = id_TA_RSA.branch("5");
086    /** OID: 0.4.0.127.0.7.2.2.2.1.6 */
087    static final ASN1ObjectIdentifier    id_TA_RSA_PSS_SHA_512  = id_TA_RSA.branch("6");
088    /** OID: 0.4.0.127.0.7.2.2.2.2 */
089    static final ASN1ObjectIdentifier    id_TA_ECDSA            = id_TA.branch("2");
090    /** OID: 0.4.0.127.0.7.2.2.2.2.1 */
091    static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_1      = id_TA_ECDSA.branch("1");
092    /** OID: 0.4.0.127.0.7.2.2.2.2.2 */
093    static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_224    = id_TA_ECDSA.branch("2");
094    /** OID: 0.4.0.127.0.7.2.2.2.2.3 */
095    static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_256    = id_TA_ECDSA.branch("3");
096    /** OID: 0.4.0.127.0.7.2.2.2.2.4 */
097    static final ASN1ObjectIdentifier    id_TA_ECDSA_SHA_384    = id_TA_ECDSA.branch("4");
098    /** OID: 0.4.0.127.0.7.2.2.2.2.5 */
099    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}