Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
c83e523d
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c83e523d
编写于
4月 17, 1999
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Allow asn1parse to print out VISIBLESTRING and some code needed for certificate
policies extension.
上级
e778802f
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
118 addition
and
9 deletion
+118
-9
CHANGES
CHANGES
+2
-1
crypto/asn1/a_print.c
crypto/asn1/a_print.c
+22
-0
crypto/asn1/asn1.h
crypto/asn1/asn1.h
+33
-0
crypto/asn1/asn1_par.c
crypto/asn1/asn1_par.c
+3
-2
crypto/objects/obj_dat.h
crypto/objects/obj_dat.h
+17
-6
crypto/objects/objects.h
crypto/objects/objects.h
+12
-0
crypto/x509v3/x509v3.h
crypto/x509v3/x509v3.h
+29
-0
未找到文件。
CHANGES
浏览文件 @
c83e523d
...
...
@@ -9,7 +9,8 @@
return a const string when you are expecting an allocated buffer.
[Ben Laurie]
*) Add support for ASN1 types UTF8String and VISIBLESTRING.
*) Add support for ASN1 types UTF8String and VISIBLESTRING, also the CHOICE
types DirectoryString and DisplayText.
[Steve Henson]
*) Add code to allow r2i extensions to access the configuration database,
...
...
crypto/asn1/a_print.c
浏览文件 @
c83e523d
...
...
@@ -159,3 +159,25 @@ ASN1_UNIVERSALSTRING *s;
return
(
1
);
}
int
i2d_DIRECTORYSTRING
(
a
,
pp
)
ASN1_STRING
*
a
;
unsigned
char
**
pp
;
{
return
(
M_i2d_DIRECTORYSTRING
(
a
,
pp
));
}
ASN1_STRING
*
d2i_DIRECTORYSTRING
(
a
,
pp
,
l
)
ASN1_STRING
**
a
;
unsigned
char
**
pp
;
long
l
;
{
return
(
M_d2i_DIRECTORYSTRING
(
a
,
pp
,
l
));
}
int
i2d_DISPLAYTEXT
(
a
,
pp
)
ASN1_STRING
*
a
;
unsigned
char
**
pp
;
{
return
(
M_i2d_DISPLAYTEXT
(
a
,
pp
));
}
ASN1_STRING
*
d2i_DISPLAYTEXT
(
a
,
pp
,
l
)
ASN1_STRING
**
a
;
unsigned
char
**
pp
;
long
l
;
{
return
(
M_d2i_DISPLAYTEXT
(
a
,
pp
,
l
));
}
crypto/asn1/asn1.h
浏览文件 @
c83e523d
...
...
@@ -315,6 +315,28 @@ typedef struct asn1_header_st
B_ASN1_BMPSTRING|\
B_ASN1_UNKNOWN)
#define DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING)
#define DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a)
#define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\
pp,a->type,V_ASN1_UNIVERSAL)
#define M_d2i_DIRECTORYSTRING(a,pp,l) \
d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \
B_ASN1_PRINTABLESTRING| \
B_ASN1_TELETEXSTRING|\
B_ASN1_BMPSTRING|\
B_ASN1_UNIVERSALSTRING|\
B_ASN1_UTF8STRING)
#define DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING)
#define DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a)
#define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\
pp,a->type,V_ASN1_UNIVERSAL)
#define M_d2i_DISPLAYTEXT(a,pp,l) \
d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \
B_ASN1_VISIBLESTRING| \
B_ASN1_BMPSTRING|\
B_ASN1_UTF8STRING)
#define ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\
ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING)
#define ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a)
...
...
@@ -499,6 +521,13 @@ ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a,
ASN1_PRINTABLESTRING
*
d2i_ASN1_PRINTABLESTRING
(
ASN1_PRINTABLESTRING
**
a
,
unsigned
char
**
pp
,
long
l
);
int
i2d_DIRECTORYSTRING
(
ASN1_STRING
*
a
,
unsigned
char
**
pp
);
ASN1_STRING
*
d2i_DIRECTORYSTRING
(
ASN1_STRING
**
a
,
unsigned
char
**
pp
,
long
length
);
int
i2d_DISPLAYTEXT
(
ASN1_STRING
*
a
,
unsigned
char
**
pp
);
ASN1_STRING
*
d2i_DISPLAYTEXT
(
ASN1_STRING
**
a
,
unsigned
char
**
pp
,
long
length
);
ASN1_T61STRING
*
d2i_ASN1_T61STRING
(
ASN1_T61STRING
**
a
,
unsigned
char
**
pp
,
long
l
);
int
i2d_ASN1_IA5STRING
(
ASN1_IA5STRING
*
a
,
unsigned
char
**
pp
);
...
...
@@ -690,6 +719,10 @@ int i2d_ASN1_UTF8STRING();
ASN1_UTF8STRING
*
d2i_ASN1_UTF8STRING
();
int
i2d_ASN1_PRINTABLE
();
ASN1_STRING
*
d2i_ASN1_PRINTABLE
();
int
i2d_DIRECTORYSTRING
();
ASN1_STRING
*
d2i_DIRECTORYSTRING
();
int
i2d_DISPLAYTEXT
();
ASN1_STRING
*
d2i_DISPLAYTEXT
();
ASN1_PRINTABLESTRING
*
d2i_ASN1_PRINTABLESTRING
();
ASN1_T61STRING
*
d2i_ASN1_T61STRING
();
int
i2d_ASN1_IA5STRING
();
...
...
crypto/asn1/asn1_par.c
浏览文件 @
c83e523d
...
...
@@ -141,8 +141,8 @@ int indent;
p
=
"GENERALIZEDTIME"
;
else
if
(
tag
==
V_ASN1_GRAPHICSTRING
)
p
=
"GRAPHICSTRING"
;
else
if
(
tag
==
V_ASN1_
ISO64
STRING
)
p
=
"
ISO64
STRING"
;
else
if
(
tag
==
V_ASN1_
VISIBLE
STRING
)
p
=
"
VISIBLE
STRING"
;
else
if
(
tag
==
V_ASN1_GENERALSTRING
)
p
=
"GENERALSTRING"
;
else
if
(
tag
==
V_ASN1_UNIVERSALSTRING
)
...
...
@@ -269,6 +269,7 @@ int indent;
if
(
(
tag
==
V_ASN1_PRINTABLESTRING
)
||
(
tag
==
V_ASN1_T61STRING
)
||
(
tag
==
V_ASN1_IA5STRING
)
||
(
tag
==
V_ASN1_VISIBLESTRING
)
||
(
tag
==
V_ASN1_UTCTIME
)
||
(
tag
==
V_ASN1_GENERALIZEDTIME
))
{
...
...
crypto/objects/obj_dat.h
浏览文件 @
c83e523d
...
...
@@ -61,12 +61,12 @@
* perl obj_dat.pl < objects.h > obj_dat.h
*/
#define NUM_NID 16
4
#define NUM_SN 11
5
#define NUM_LN 16
0
#define NUM_OBJ 13
6
#define NUM_NID 16
6
#define NUM_SN 11
7
#define NUM_LN 16
2
#define NUM_OBJ 13
8
static
unsigned
char
lvalues
[
9
40
]
=
{
static
unsigned
char
lvalues
[
9
56
]
=
{
0x00
,
/* [ 0] OBJ_undef */
0x2A
,
0x86
,
0x48
,
0x86
,
0xF7
,
0x0D
,
/* [ 1] OBJ_rsadsi */
0x2A
,
0x86
,
0x48
,
0x86
,
0xF7
,
0x0D
,
0x01
,
/* [ 7] OBJ_pkcs */
...
...
@@ -203,6 +203,8 @@ static unsigned char lvalues[940]={
0x2A
,
0x86
,
0x48
,
0x86
,
0xF7
,
0x0D
,
0x01
,
0x05
,
0x0D
,
/* [913] OBJ_pbes2 */
0x2A
,
0x86
,
0x48
,
0x86
,
0xF7
,
0x0D
,
0x01
,
0x05
,
0x0E
,
/* [922] OBJ_pbmac1 */
0x2A
,
0x86
,
0x48
,
0x86
,
0xF7
,
0x0D
,
0x02
,
0x07
,
/* [931] OBJ_hmacWithSHA1 */
0x2B
,
0x06
,
0x01
,
0x05
,
0x05
,
0x07
,
0x02
,
0x01
,
/* [939] OBJ_id_qt_cps */
0x2B
,
0x06
,
0x01
,
0x05
,
0x05
,
0x07
,
0x02
,
0x02
,
/* [947] OBJ_id_qt_unotice */
};
static
ASN1_OBJECT
nid_objs
[
NUM_NID
]
=
{
...
...
@@ -434,6 +436,9 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
{
"PBES2"
,
"PBES2"
,
NID_pbes2
,
9
,
&
(
lvalues
[
913
]),
0
},
{
"PBMAC1"
,
"PBMAC1"
,
NID_pbmac1
,
9
,
&
(
lvalues
[
922
]),
0
},
{
"hmacWithSHA1"
,
"hmacWithSHA1"
,
NID_hmacWithSHA1
,
8
,
&
(
lvalues
[
931
]),
0
},
{
"id-qt-cps"
,
"Policy Qualifier CPS"
,
NID_id_qt_cps
,
8
,
&
(
lvalues
[
939
]),
0
},
{
"id-qt-unotice"
,
"Policy Qualifier User Notice"
,
NID_id_qt_unotice
,
8
,
&
(
lvalues
[
947
]),
0
},
};
static
ASN1_OBJECT
*
sn_objs
[
NUM_SN
]
=
{
...
...
@@ -526,6 +531,8 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
&
(
nid_objs
[
132
]),
/* "emailProtection" */
&
(
nid_objs
[
126
]),
/* "extendedKeyUsage" */
&
(
nid_objs
[
128
]),
/* "id-kp" */
&
(
nid_objs
[
164
]),
/* "id-qt-cps" */
&
(
nid_objs
[
165
]),
/* "id-qt-unotice" */
&
(
nid_objs
[
142
]),
/* "invalidityDate" */
&
(
nid_objs
[
86
]),
/* "issuerAltName" */
&
(
nid_objs
[
83
]),
/* "keyUsage" */
...
...
@@ -579,6 +586,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
&
(
nid_objs
[
139
]),
/* "Netscape Server Gated Crypto" */
&
(
nid_objs
[
161
]),
/* "PBES2" */
&
(
nid_objs
[
162
]),
/* "PBMAC1" */
&
(
nid_objs
[
164
]),
/* "Policy Qualifier CPS" */
&
(
nid_objs
[
165
]),
/* "Policy Qualifier User Notice" */
&
(
nid_objs
[
143
]),
/* "Strong Extranet ID" */
&
(
nid_objs
[
130
]),
/* "TLS Web Client Authentication" */
&
(
nid_objs
[
129
]),
/* "TLS Web Server Authentication" */
...
...
@@ -752,8 +761,8 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
&
(
nid_objs
[
19
]),
/* OBJ_rsa 2 5 8 1 1 */
&
(
nid_objs
[
96
]),
/* OBJ_mdc2WithRSA 2 5 8 3 100 */
&
(
nid_objs
[
95
]),
/* OBJ_mdc2 2 5 8 3 101 */
&
(
nid_objs
[
125
]),
/* OBJ_zlib_compression 1 1 1 1 666.2 */
&
(
nid_objs
[
124
]),
/* OBJ_rle_compression 1 1 1 1 666.1 */
&
(
nid_objs
[
125
]),
/* OBJ_zlib_compression 1 1 1 1 666.2 */
&
(
nid_objs
[
104
]),
/* OBJ_md5WithRSA 1 3 14 3 2 3 */
&
(
nid_objs
[
29
]),
/* OBJ_des_ecb 1 3 14 3 2 6 */
&
(
nid_objs
[
31
]),
/* OBJ_des_cbc 1 3 14 3 2 7 */
...
...
@@ -787,6 +796,8 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
&
(
nid_objs
[
5
]),
/* OBJ_rc4 1 2 840 113549 3 4 */
&
(
nid_objs
[
44
]),
/* OBJ_des_ede3_cbc 1 2 840 113549 3 7 */
&
(
nid_objs
[
120
]),
/* OBJ_rc5_cbc 1 2 840 113549 3 8 */
&
(
nid_objs
[
164
]),
/* OBJ_id_qt_cps 1 3 6 1 5 5 7 2 1 */
&
(
nid_objs
[
165
]),
/* OBJ_id_qt_unotice 1 3 6 1 5 5 7 2 2 */
&
(
nid_objs
[
129
]),
/* OBJ_server_auth 1 3 6 1 5 5 7 3 1 */
&
(
nid_objs
[
130
]),
/* OBJ_client_auth 1 3 6 1 5 5 7 3 2 */
&
(
nid_objs
[
131
]),
/* OBJ_code_sign 1 3 6 1 5 5 7 3 3 */
...
...
crypto/objects/objects.h
浏览文件 @
c83e523d
...
...
@@ -854,6 +854,18 @@ extern "C" {
#define NID_hmacWithSHA1 163
#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L
/* Policy Qualifier Ids */
#define LN_id_qt_cps "Policy Qualifier CPS"
#define SN_id_qt_cps "id-qt-cps"
#define NID_id_qt_cps 164
#define OBJ_id_qt_cps OBJ_id_pkix,2L,1L
#define LN_id_qt_unotice "Policy Qualifier User Notice"
#define SN_id_qt_unotice "id-qt-unotice"
#define NID_id_qt_unotice 165
#define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L
#include "bio.h"
#include "asn1.h"
...
...
crypto/x509v3/x509v3.h
浏览文件 @
c83e523d
...
...
@@ -197,6 +197,35 @@ typedef struct SXNET_st {
STACK_OF
(
SXNETID
)
*
ids
;
}
SXNET
;
typedef
struct
NOTICEREF_st
{
ASN1_STRING
*
organization
;
STACK
*
noticenos
;
}
NOTICEREF
;
typedef
struct
USERNOTICE_st
{
NOTICEREF
*
notref
;
ASN1_STRING
*
exptext
;
}
USERNOTICE
;
typedef
struct
POLICYQUALINFO_st
{
ASN1_OBJECT
*
pqualid
;
union
{
ASN1_IA5STRING
*
cpsuri
;
USERNOTICE
*
usernotice
;
ASN1_TYPE
*
other
;
}
d
;
}
POLICYQUALINFO
;
DECLARE_STACK_OF
(
POLICYQUALINFO
)
typedef
struct
POLICYINFO_st
{
ASN1_OBJECT
*
policyid
;
STACK_OF
(
POLICYQUALINFO
)
qualifiers
;
}
POLICYINFO
;
DECLARE_STACK_OF
(
POLICYINFO
);
DECLARE_ASN1_SET_OF
(
POLICYINFO
);
#define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \
",name:", val->name, ",value:", val->value);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录