JunkBox_Lib++ (for Windows) 1.10.1
Loading...
Searching...
No Matches
asn1_tool.h
Go to the documentation of this file.
1#ifndef __JBXL_ASN1_TOOL_H_
2#define __JBXL_ASN1_TOOL_H_
3
4#include "xtools.h"
5#include "ttree.h"
6
7#include "asn1_node.h"
8
15typedef tTree tDER;
16/*
17@code
18tDER {
19 tList_data lvat { データを格納
20 int id 識別子
21 int lv データ全体のサイズ(実際に格納されているサイズ)
22 Buffer key 未使用
23 Buffer val { コンテンツを格納
24 .....
25 int vldsz コンテンツのサイズ. (実際に格納されているサイズ)
26 int state コンテンツの状態
27 unsigned char* buf コンテンツ
28 }
29 .....
30 }
31 .....
32}
33@endcode
34*/
35
36
37// ASN1
38//
39// int2DER() -> int2bin_DER()
40// toDER() -> node2DER()
41// get_toDER_length() -> get_size_toDER()
42// skip_DERtag() -> skip_DER_node()
43//
44
45Buffer int2bin_DER(long int n);
46long int bin2int_DER(Buffer buf);
47Buffer node2DER(Buffer, unsigned char);
48int get_size_toDER(Buffer, unsigned char);
49int skip_DER_node(Buffer, unsigned char, int, int*);
50
51#define new_DER_node() new_tTree_node()
52#define del_DER_node(a) del_tTree_node((a))
53#define del_DER(a) del_tTree((a))
54#define add_DER_node(a, n) add_tTree_node((a), (n))
55
56tDER* DER_parse(tDER* der, Buffer* buf);
57void _DER_parse_children(tDER* der, Buffer* buf);
58
59int set_DER_node(tDER* ser, unsigned char* buf);
60int get_DER_size(unsigned char* buf, int* len);
61
62/*
63最初の行はアンカー (ff)
64
6504 05 69 73 65 6b 69
66
67[04] UNIVERSAL PRIMITIVE OCTET_STRING 7, 5 : "iseki"
68 7: 全体長
69 5: iseki の長さ
70
71[ID] CLASS PRIMITIVE/CONSTRUCTED TAG/(num) data_size, contents_size : contents
72*/
73void print_tDER(FILE* fp, tDER* pp);
74
75//Buffer* DER_inverse_parse(tDER* pp);
76
77
78#endif // __JBXL_ASN1_TOOL_H_
79
Buffer int2bin_DER(long int n)
void print_tDER(FILE *fp, tDER *pp)
long int bin2int_DER(Buffer buf)
int get_size_toDER(Buffer, unsigned char)
Buffer node2DER(Buffer, unsigned char)
Definition asn1_tool.cpp:70
tTree tDER
Definition asn1_tool.h:15
int set_DER_node(tDER *ser, unsigned char *buf)
int get_DER_size(unsigned char *buf, int *len)
tDER * DER_parse(tDER *der, Buffer *buf)
int skip_DER_node(Buffer, unsigned char, int, int *)
Definition asn1_tool.cpp:34
void _DER_parse_children(tDER *der, Buffer *buf)
Tiny Tree Graph 構造ライブラリヘッダ
汎用拡張ツールヘッダ