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
|