00001
00045 #ifndef X509_H
00046 #define X509_H
00047
00048 #include <math.h>
00049
00050 extern int
00051 GetPrivateKey(B_KEY_OBJ * key, char *filename);
00052
00053 extern int
00054 GetCertificate(unsigned char **pCertificate, int *length, char *filename);
00055
00056 extern char *
00057 PrivateKeyToPEM(B_KEY_OBJ privateKey);
00058
00059 extern unsigned char *
00060 GetBerFromPEM(char *filename, char *section, int *length);
00061
00062 extern void
00063 AddLengthCount(Ns_DString *ds, unsigned int length);
00064
00065 extern int
00066 GetLengthCount(unsigned char *der, unsigned int *length);
00067
00068 extern int
00069 SetOf(unsigned char *der, int length);
00070
00071 extern int
00072 DecodeSetOf(Ns_DString *ds, unsigned char *der, int length, int indent);
00073
00074 void extern
00075 RecodeAsSetOf(Ns_DString *dsSrc, Ns_DString *dsDest);
00076
00077 extern int
00078 DERDecode(Ns_DString *ds, unsigned char *der, int length, int indent);
00079
00080 extern int
00081 DEREncode(Ns_DString *ds, char *asn1);
00082
00083
00084 #define SECTION_X509_CERTIFICATE "X509 CERTIFICATE"
00085 #define SECTION_CERTIFICATE "CERTIFICATE"
00086 #define SECTION_RSA_PRIVATE_KEY "RSA PRIVATE KEY"
00087
00088 #endif