der.h
00001
00002
00003
00004
00005
00006
00007 #ifndef _DER_H
00008 #define _DER_H
00009
00010
00011 #define UNIVERSAL 0x00
00012 #define APPLICATION 0x40
00013 #define CONTEXT_SPECIFIC 0x80
00014 #define PRIVATE 0xC0
00015 #define STRUCTURED 0x20
00016
00017
00018 #define TAG_BOOLEAN 0x01
00019 #define TAG_INTEGER 0x02
00020 #define TAG_SEQUENCE 0x10
00021 #define TAG_SET 0x11
00022 #define TAG_OCTET_STRING 0x04
00023 #define TAG_BIT_STRING 0x03
00024 #define TAG_UTCTime 0x17
00025 #define TAG_GENERALIZEDTime 0x18
00026 #define TAG_OBJECT_ID 0x06
00027 #define TAG_ENUMERATED 0x0A
00028 #define TAG_NULL 0x05
00029 #define TAG_GENERALSTRING 0x1B
00030
00031 int _asn1_get_tag_der(const unsigned char *der, int der_len,
00032 unsigned char *class,int *len, unsigned long *tag);
00033
00034 void _asn1_octet_der(const unsigned char *str,int str_len,
00035 unsigned char *der,int *der_len);
00036
00037 asn1_retCode _asn1_get_octet_der(const unsigned char *der, int der_len,
00038 int *ret_len,unsigned char *str,int str_size, int *str_len);
00039
00040 void _asn1_bit_der(const unsigned char *str,int bit_len,
00041 unsigned char *der,int *der_len);
00042
00043 asn1_retCode _asn1_get_bit_der(const unsigned char *der, int der_len,
00044 int *ret_len,unsigned char *str, int str_size,
00045 int *bit_len);
00046
00047 signed long _asn1_get_length_der(const unsigned char *der,int der_len, int *len);
00048
00049 void _asn1_length_der(unsigned long len,unsigned char *ans,int *ans_len);
00050
00051
00052 #endif
00053
00054
00055
00056
00057