update to pre-4.87 master
[exim.git] / src / src / pdkim / polarssl / part-x509.h
1 /* *************** begin copy from x509.h  ************************/
2 /**
3  * \file x509.h
4  *
5  *  Copyright (C) 2006-2010, Brainspark B.V.
6  *
7  *  This file is part of PolarSSL (http://www.polarssl.org)
8  *  Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
9  *
10  *  All rights reserved.
11  *
12  *  This program is free software; you can redistribute it and/or modify
13  *  it under the terms of the GNU General Public License as published by
14  *  the Free Software Foundation; either version 2 of the License, or
15  *  (at your option) any later version.
16  *
17  *  This program is distributed in the hope that it will be useful,
18  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  *  GNU General Public License for more details.
21  *
22  *  You should have received a copy of the GNU General Public License along
23  *  with this program; if not, write to the Free Software Foundation, Inc.,
24  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25  */
26
27 #ifndef POLARSSL_PART_X509_H
28 #define POLARSSL_PART_X509_H
29
30 /*
31  * ASN1 Error codes
32  *
33  * These error codes will be OR'ed to X509 error codes for
34  * higher error granularity.
35  */
36 #define POLARSSL_ERR_ASN1_OUT_OF_DATA                      0x0014
37 #define POLARSSL_ERR_ASN1_UNEXPECTED_TAG                   0x0016
38 #define POLARSSL_ERR_ASN1_INVALID_LENGTH                   0x0018
39 #define POLARSSL_ERR_ASN1_LENGTH_MISMATCH                  0x001A
40 #define POLARSSL_ERR_ASN1_INVALID_DATA                     0x001C
41
42 /*
43  * X509 Error codes
44  */
45 #define POLARSSL_ERR_X509_FEATURE_UNAVAILABLE              -0x0020
46 #define POLARSSL_ERR_X509_CERT_INVALID_PEM                 -0x0040
47 #define POLARSSL_ERR_X509_CERT_INVALID_FORMAT              -0x0060
48 #define POLARSSL_ERR_X509_CERT_INVALID_VERSION             -0x0080
49 #define POLARSSL_ERR_X509_CERT_INVALID_SERIAL              -0x00A0
50 #define POLARSSL_ERR_X509_CERT_INVALID_ALG                 -0x00C0
51 #define POLARSSL_ERR_X509_CERT_INVALID_NAME                -0x00E0
52 #define POLARSSL_ERR_X509_CERT_INVALID_DATE                -0x0100
53 #define POLARSSL_ERR_X509_CERT_INVALID_PUBKEY              -0x0120
54 #define POLARSSL_ERR_X509_CERT_INVALID_SIGNATURE           -0x0140
55 #define POLARSSL_ERR_X509_CERT_INVALID_EXTENSIONS          -0x0160
56 #define POLARSSL_ERR_X509_CERT_UNKNOWN_VERSION             -0x0180
57 #define POLARSSL_ERR_X509_CERT_UNKNOWN_SIG_ALG             -0x01A0
58 #define POLARSSL_ERR_X509_CERT_UNKNOWN_PK_ALG              -0x01C0
59 #define POLARSSL_ERR_X509_CERT_SIG_MISMATCH                -0x01E0
60 #define POLARSSL_ERR_X509_CERT_VERIFY_FAILED               -0x0200
61 #define POLARSSL_ERR_X509_KEY_INVALID_PEM                  -0x0220
62 #define POLARSSL_ERR_X509_KEY_INVALID_VERSION              -0x0240
63 #define POLARSSL_ERR_X509_KEY_INVALID_FORMAT               -0x0260
64 #define POLARSSL_ERR_X509_KEY_INVALID_ENC_IV               -0x0280
65 #define POLARSSL_ERR_X509_KEY_UNKNOWN_ENC_ALG              -0x02A0
66 #define POLARSSL_ERR_X509_KEY_PASSWORD_REQUIRED            -0x02C0
67 #define POLARSSL_ERR_X509_KEY_PASSWORD_MISMATCH            -0x02E0
68 #define POLARSSL_ERR_X509_POINT_ERROR                      -0x0300
69 #define POLARSSL_ERR_X509_VALUE_TO_LENGTH                  -0x0320
70
71 /*
72  * DER constants
73  */
74 #define ASN1_BOOLEAN                 0x01
75 #define ASN1_INTEGER                 0x02
76 #define ASN1_BIT_STRING              0x03
77 #define ASN1_OCTET_STRING            0x04
78 #define ASN1_NULL                    0x05
79 #define ASN1_OID                     0x06
80 #define ASN1_UTF8_STRING             0x0C
81 #define ASN1_SEQUENCE                0x10
82 #define ASN1_SET                     0x11
83 #define ASN1_PRINTABLE_STRING        0x13
84 #define ASN1_T61_STRING              0x14
85 #define ASN1_IA5_STRING              0x16
86 #define ASN1_UTC_TIME                0x17
87 #define ASN1_GENERALIZED_TIME        0x18
88 #define ASN1_UNIVERSAL_STRING        0x1C
89 #define ASN1_BMP_STRING              0x1E
90 #define ASN1_PRIMITIVE               0x00
91 #define ASN1_CONSTRUCTED             0x20
92 #define ASN1_CONTEXT_SPECIFIC        0x80
93 /* ***************   end copy from x509.h  ************************/
94
95 #endif /* part-x509.h */