001    /**
002     *  Licensed to the Apache Software Foundation (ASF) under one or more
003     *  contributor license agreements.  See the NOTICE file distributed with
004     *  this work for additional information regarding copyright ownership.
005     *  The ASF licenses this file to You under the Apache License, Version 2.0
006     *  (the "License"); you may not use this file except in compliance with
007     *  the License.  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    
018    package org.apache.geronimo.util.asn1.pkcs;
019    
020    import org.apache.geronimo.util.asn1.DERObjectIdentifier;
021    
022    public interface PKCSObjectIdentifiers
023    {
024        //
025        // pkcs-1 OBJECT IDENTIFIER ::= {
026        //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
027        //
028        static final String                 pkcs_1                    = "1.2.840.113549.1.1";
029        static final DERObjectIdentifier    rsaEncryption             = new DERObjectIdentifier(pkcs_1 + ".1");
030        static final DERObjectIdentifier    md2WithRSAEncryption      = new DERObjectIdentifier(pkcs_1 + ".2");
031        static final DERObjectIdentifier    md4WithRSAEncryption      = new DERObjectIdentifier(pkcs_1 + ".3");
032        static final DERObjectIdentifier    md5WithRSAEncryption      = new DERObjectIdentifier(pkcs_1 + ".4");
033        static final DERObjectIdentifier    sha1WithRSAEncryption     = new DERObjectIdentifier(pkcs_1 + ".5");
034        static final DERObjectIdentifier    srsaOAEPEncryptionSET     = new DERObjectIdentifier(pkcs_1 + ".6");
035        static final DERObjectIdentifier    id_RSAES_OAEP             = new DERObjectIdentifier(pkcs_1 + ".7");
036        static final DERObjectIdentifier    id_mgf1                   = new DERObjectIdentifier(pkcs_1 + ".8");
037        static final DERObjectIdentifier    id_pSpecified             = new DERObjectIdentifier(pkcs_1 + ".9");
038        static final DERObjectIdentifier    id_RSASSA_PSS             = new DERObjectIdentifier(pkcs_1 + ".10");
039        static final DERObjectIdentifier    sha256WithRSAEncryption   = new DERObjectIdentifier(pkcs_1 + ".11");
040        static final DERObjectIdentifier    sha384WithRSAEncryption   = new DERObjectIdentifier(pkcs_1 + ".12");
041        static final DERObjectIdentifier    sha512WithRSAEncryption   = new DERObjectIdentifier(pkcs_1 + ".13");
042        static final DERObjectIdentifier    sha224WithRSAEncryption   = new DERObjectIdentifier(pkcs_1 + ".14");
043    
044        //
045        // pkcs-3 OBJECT IDENTIFIER ::= {
046        //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 3 }
047        //
048        static final String                 pkcs_3                  = "1.2.840.113549.1.3";
049        static final DERObjectIdentifier    dhKeyAgreement          = new DERObjectIdentifier(pkcs_3 + ".1");
050    
051        //
052        // pkcs-5 OBJECT IDENTIFIER ::= {
053        //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 5 }
054        //
055        static final String                 pkcs_5                  = "1.2.840.113549.1.5";
056    
057        static final DERObjectIdentifier    pbeWithMD2AndDES_CBC    = new DERObjectIdentifier(pkcs_5 + ".1");
058        static final DERObjectIdentifier    pbeWithMD2AndRC2_CBC    = new DERObjectIdentifier(pkcs_5 + ".4");
059        static final DERObjectIdentifier    pbeWithMD5AndDES_CBC    = new DERObjectIdentifier(pkcs_5 + ".3");
060        static final DERObjectIdentifier    pbeWithMD5AndRC2_CBC    = new DERObjectIdentifier(pkcs_5 + ".6");
061        static final DERObjectIdentifier    pbeWithSHA1AndDES_CBC   = new DERObjectIdentifier(pkcs_5 + ".10");
062        static final DERObjectIdentifier    pbeWithSHA1AndRC2_CBC   = new DERObjectIdentifier(pkcs_5 + ".11");
063    
064        static final DERObjectIdentifier    id_PBES2                = new DERObjectIdentifier(pkcs_5 + ".13");
065    
066        static final DERObjectIdentifier    id_PBKDF2               = new DERObjectIdentifier(pkcs_5 + ".12");
067    
068        //
069        // encryptionAlgorithm OBJECT IDENTIFIER ::= {
070        //       iso(1) member-body(2) us(840) rsadsi(113549) 3 }
071        //
072        static final String                 encryptionAlgorithm     = "1.2.840.113549.3";
073    
074        static final DERObjectIdentifier    des_EDE3_CBC            = new DERObjectIdentifier(encryptionAlgorithm + ".7");
075        static final DERObjectIdentifier    RC2_CBC                 = new DERObjectIdentifier(encryptionAlgorithm + ".2");
076    
077        //
078        // object identifiers for digests
079        //
080        static final String                 digestAlgorithm     = "1.2.840.113549.2";
081        //
082        // md2 OBJECT IDENTIFIER ::=
083        //      {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 2}
084        //
085        static final DERObjectIdentifier    md2                     = new DERObjectIdentifier(digestAlgorithm + ".2");
086    
087        //
088        // md4 OBJECT IDENTIFIER ::=
089        //      {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 4}
090        //
091        static final DERObjectIdentifier    md4 = new DERObjectIdentifier(digestAlgorithm + ".4");
092    
093        //
094        // md5 OBJECT IDENTIFIER ::=
095        //      {iso(1) member-body(2) US(840) rsadsi(113549) digestAlgorithm(2) 5}
096        //
097        static final DERObjectIdentifier    md5                     = new DERObjectIdentifier(digestAlgorithm + ".5");
098    
099        static final DERObjectIdentifier    id_hmacWithSHA1         = new DERObjectIdentifier(digestAlgorithm + ".7");
100        static final DERObjectIdentifier    id_hmacWithSHA224       = new DERObjectIdentifier(digestAlgorithm + ".8");
101        static final DERObjectIdentifier    id_hmacWithSHA256       = new DERObjectIdentifier(digestAlgorithm + ".9");
102        static final DERObjectIdentifier    id_hmacWithSHA384       = new DERObjectIdentifier(digestAlgorithm + ".10");
103        static final DERObjectIdentifier    id_hmacWithSHA512       = new DERObjectIdentifier(digestAlgorithm + ".11");
104    
105        //
106        // pkcs-7 OBJECT IDENTIFIER ::= {
107        //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 7 }
108        //
109        static final String                 pkcs_7                  = "1.2.840.113549.1.7";
110        static final DERObjectIdentifier    data                    = new DERObjectIdentifier(pkcs_7 + ".1");
111        static final DERObjectIdentifier    signedData              = new DERObjectIdentifier(pkcs_7 + ".2");
112        static final DERObjectIdentifier    envelopedData           = new DERObjectIdentifier(pkcs_7 + ".3");
113        static final DERObjectIdentifier    signedAndEnvelopedData  = new DERObjectIdentifier(pkcs_7 + ".4");
114        static final DERObjectIdentifier    digestedData            = new DERObjectIdentifier(pkcs_7 + ".5");
115        static final DERObjectIdentifier    encryptedData           = new DERObjectIdentifier(pkcs_7 + ".6");
116    
117        //
118        // pkcs-9 OBJECT IDENTIFIER ::= {
119        //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
120        //
121        static final String                 pkcs_9                  = "1.2.840.113549.1.9";
122    
123        static final DERObjectIdentifier    pkcs_9_at_emailAddress  = new DERObjectIdentifier(pkcs_9 + ".1");
124        static final DERObjectIdentifier    pkcs_9_at_unstructuredName = new DERObjectIdentifier(pkcs_9 + ".2");
125        static final DERObjectIdentifier    pkcs_9_at_contentType = new DERObjectIdentifier(pkcs_9 + ".3");
126        static final DERObjectIdentifier    pkcs_9_at_messageDigest = new DERObjectIdentifier(pkcs_9 + ".4");
127        static final DERObjectIdentifier    pkcs_9_at_signingTime = new DERObjectIdentifier(pkcs_9 + ".5");
128        static final DERObjectIdentifier    pkcs_9_at_counterSignature = new DERObjectIdentifier(pkcs_9 + ".6");
129        static final DERObjectIdentifier    pkcs_9_at_challengePassword = new DERObjectIdentifier(pkcs_9 + ".7");
130        static final DERObjectIdentifier    pkcs_9_at_unstructuredAddress = new DERObjectIdentifier(pkcs_9 + ".8");
131        static final DERObjectIdentifier    pkcs_9_at_extendedCertificateAttributes = new DERObjectIdentifier(pkcs_9 + ".9");
132    
133        static final DERObjectIdentifier    pkcs_9_at_signingDescription = new DERObjectIdentifier(pkcs_9 + ".13");
134        static final DERObjectIdentifier    pkcs_9_at_extensionRequest = new DERObjectIdentifier(pkcs_9 + ".14");
135        static final DERObjectIdentifier    pkcs_9_at_smimeCapabilities = new DERObjectIdentifier(pkcs_9 + ".15");
136    
137        static final DERObjectIdentifier    pkcs_9_at_friendlyName  = new DERObjectIdentifier(pkcs_9 + ".20");
138        static final DERObjectIdentifier    pkcs_9_at_localKeyId    = new DERObjectIdentifier(pkcs_9 + ".21");
139    
140        static final DERObjectIdentifier    x509certType            = new DERObjectIdentifier(pkcs_9 + ".22.1");
141    
142        static final DERObjectIdentifier    id_alg_PWRI_KEK    = new DERObjectIdentifier(pkcs_9 + ".16.3.9");
143    
144        //
145        // SMIME capability sub oids.
146        //
147        static final DERObjectIdentifier    preferSignedData        = new DERObjectIdentifier(pkcs_9 + ".15.1");
148        static final DERObjectIdentifier    canNotDecryptAny        = new DERObjectIdentifier(pkcs_9 + ".15.2");
149        static final DERObjectIdentifier    sMIMECapabilitiesVersions = new DERObjectIdentifier(pkcs_9 + ".15.3");
150    
151        //
152        // other SMIME attributes
153        //
154    
155        //
156        // id-ct OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
157        // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1)}
158        //
159        static String id_ct = "1.2.840.113549.1.9.16.1";
160    
161        static final DERObjectIdentifier    id_ct_TSTInfo           = new DERObjectIdentifier(id_ct + ".4");
162        static final DERObjectIdentifier    id_ct_compressedData    = new DERObjectIdentifier(id_ct + ".9");
163    
164        //
165        // id-cti OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
166        // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) cti(6)}
167        //
168        static String id_cti = "1.2.840.113549.1.9.16.6";
169    
170        static final DERObjectIdentifier    id_cti_ets_proofOfOrigin  = new DERObjectIdentifier(id_cti + ".1");
171        static final DERObjectIdentifier    id_cti_ets_proofOfReceipt = new DERObjectIdentifier(id_cti + ".2");
172        static final DERObjectIdentifier    id_cti_ets_proofOfDelivery = new DERObjectIdentifier(id_cti + ".3");
173        static final DERObjectIdentifier    id_cti_ets_proofOfSender = new DERObjectIdentifier(id_cti + ".4");
174        static final DERObjectIdentifier    id_cti_ets_proofOfApproval = new DERObjectIdentifier(id_cti + ".5");
175        static final DERObjectIdentifier    id_cti_ets_proofOfCreation = new DERObjectIdentifier(id_cti + ".6");
176    
177        //
178        // id-aa OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
179        // rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) attributes(2)}
180        //
181        static String id_aa = "1.2.840.113549.1.9.16.2";
182    
183        /*
184         * id-aa-encrypKeyPref OBJECT IDENTIFIER ::= {id-aa 11}
185         *
186         */
187        static DERObjectIdentifier id_aa_encrypKeyPref = new DERObjectIdentifier(id_aa + ".11");
188        static DERObjectIdentifier id_aa_signingCertificate = new DERObjectIdentifier(id_aa + ".12");
189    
190        static final DERObjectIdentifier id_aa_contentIdentifier = new DERObjectIdentifier(id_aa + ".7"); // See RFC 2634
191        static final DERObjectIdentifier id_aa_signatureTimeStampToken = new DERObjectIdentifier(id_aa + ".14"); // See RFC 3126
192        static final DERObjectIdentifier id_aa_sigPolicyId = new DERObjectIdentifier(id_aa + ".15"); // See RFC 3126
193        static final DERObjectIdentifier id_aa_commitmentType = new DERObjectIdentifier(id_aa + ".16"); // See RFC 3126
194        static final DERObjectIdentifier id_aa_signerLocation = new DERObjectIdentifier(id_aa + ".17"); // See RFC 3126
195        static final DERObjectIdentifier id_aa_otherSigCert = new DERObjectIdentifier(id_aa + ".19"); // See RFC 3126
196        //
197        // pkcs-12 OBJECT IDENTIFIER ::= {
198        //       iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 12 }
199        //
200        static final String                 pkcs_12                  = "1.2.840.113549.1.12";
201        static final String                 bagtypes                 = pkcs_12 + ".10.1";
202    
203        static final DERObjectIdentifier    keyBag                  = new DERObjectIdentifier(bagtypes + ".1");
204        static final DERObjectIdentifier    pkcs8ShroudedKeyBag     = new DERObjectIdentifier(bagtypes + ".2");
205        static final DERObjectIdentifier    certBag                 = new DERObjectIdentifier(bagtypes + ".3");
206        static final DERObjectIdentifier    crlBag                  = new DERObjectIdentifier(bagtypes + ".4");
207        static final DERObjectIdentifier    secretBag               = new DERObjectIdentifier(bagtypes + ".5");
208        static final DERObjectIdentifier    safeContentsBag         = new DERObjectIdentifier(bagtypes + ".6");
209    
210        static final String pkcs_12PbeIds  = pkcs_12 + ".1";
211    
212        static final DERObjectIdentifier    pbeWithSHAAnd128BitRC4 = new DERObjectIdentifier(pkcs_12PbeIds + ".1");
213        static final DERObjectIdentifier    pbeWithSHAAnd40BitRC4  = new DERObjectIdentifier(pkcs_12PbeIds + ".2");
214        static final DERObjectIdentifier    pbeWithSHAAnd3_KeyTripleDES_CBC = new DERObjectIdentifier(pkcs_12PbeIds + ".3");
215        static final DERObjectIdentifier    pbeWithSHAAnd2_KeyTripleDES_CBC = new DERObjectIdentifier(pkcs_12PbeIds + ".4");
216        static final DERObjectIdentifier    pbeWithSHAAnd128BitRC2_CBC = new DERObjectIdentifier(pkcs_12PbeIds + ".5");
217        static final DERObjectIdentifier    pbewithSHAAnd40BitRC2_CBC = new DERObjectIdentifier(pkcs_12PbeIds + ".6");
218    
219    }
220