991d0ac50f8454d371b6ab60771c2e211293651a
[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 */