File: x509.h

package info (click to toggle)
aolserver4 4.5.1-15.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 11,772 kB
  • sloc: ansic: 45,120; tcl: 5,532; sh: 1,021; makefile: 380; pascal: 219; php: 13
file content (88 lines) | stat: -rw-r--r-- 2,879 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
 * The contents of this file are subject to the AOLserver Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://aolserver.com/.
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and limitations
 * under the License.
 *
 * The Original Code is AOLserver Code and related documentation
 * distributed by AOL.
 * 
 * The Initial Developer of the Original Code is America Online,
 * Inc. Portions created by AOL are Copyright (C) 1999 America Online,
 * Inc. All Rights Reserved.
 *
 * Alternatively, the contents of this file may be used under the terms
 * of the GNU General Public License (the "GPL"), in which case the
 * provisions of GPL are applicable instead of those above.  If you wish
 * to allow use of your version of this file only under the terms of the
 * GPL and not to allow others to use your version of this file under the
 * License, indicate your decision by deleting the provisions above and
 * replace them with the notice and other provisions required by the GPL.
 * If you do not delete the provisions above, a recipient may use your
 * version of this file under either the License or the GPL.
 */


/*
 * EXPORT NOTICE 
 * 
 * This source code is subject to the U.S. Export Administration
 * Regulations and other U.S. law, and may not be exported or
 * re-exported to certain countries (currently Afghanistan
 * (Taliban-controlled areas), Cuba, Iran, Iraq, Libya, North Korea,
 * Serbia (except Kosovo), Sudan and Syria) or to persons or entities
 * prohibited from receiving U.S. exports (including Denied Parties,
 * Specially Designated Nationals, and entities on the Bureau of
 * Export Administration Entity List).
 */


#ifndef X509_H
#define X509_H

#include <math.h>

extern int
GetPrivateKey(B_KEY_OBJ * key, char *filename);

extern int
GetCertificate(unsigned char **pCertificate, int *length, char *filename);

extern char *
PrivateKeyToPEM(B_KEY_OBJ privateKey);

extern unsigned char *
GetBerFromPEM(char *filename, char *section, int *length);

extern void
AddLengthCount(Ns_DString *ds, unsigned int length);

extern int
GetLengthCount(unsigned char *der, unsigned int *length);

extern int
SetOf(unsigned char *der, int length);

extern int
DecodeSetOf(Ns_DString *ds, unsigned char *der, int length, int indent);

void extern
RecodeAsSetOf(Ns_DString *dsSrc, Ns_DString *dsDest);

extern int
DERDecode(Ns_DString *ds, unsigned char *der, int length, int indent);

extern int
DEREncode(Ns_DString *ds, char *asn1);


#define SECTION_X509_CERTIFICATE "X509 CERTIFICATE"
#define SECTION_CERTIFICATE "CERTIFICATE"
#define SECTION_RSA_PRIVATE_KEY "RSA PRIVATE KEY"

#endif