Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
a716d727
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
9 个月 前同步成功
通知
8
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a716d727
编写于
11月 19, 1999
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support for otherName in GeneralName.
上级
44eca706
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
84 addition
and
6 deletion
+84
-6
CHANGES
CHANGES
+3
-0
crypto/asn1/asn1.h
crypto/asn1/asn1.h
+2
-0
crypto/asn1/asn1_err.c
crypto/asn1/asn1_err.c
+2
-0
crypto/x509v3/v3_genn.c
crypto/x509v3/v3_genn.c
+59
-5
crypto/x509v3/x509v3.h
crypto/x509v3/x509v3.h
+12
-1
util/libeay.num
util/libeay.num
+6
-0
未找到文件。
CHANGES
浏览文件 @
a716d727
...
@@ -4,6 +4,9 @@
...
@@ -4,6 +4,9 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
*) Code to support otherName option in GeneralName.
[Steve Henson]
*) First update to verify code. Change the verify utility
*) First update to verify code. Change the verify utility
so it warns if it is passed a self signed certificate:
so it warns if it is passed a self signed certificate:
for consistency with the normal behaviour. X509_verify
for consistency with the normal behaviour. X509_verify
...
...
crypto/asn1/asn1.h
浏览文件 @
a716d727
...
@@ -858,6 +858,7 @@ void ASN1_STRING_TABLE_cleanup(void);
...
@@ -858,6 +858,7 @@ void ASN1_STRING_TABLE_cleanup(void);
#define ASN1_F_D2I_NETSCAPE_SPKAC 143
#define ASN1_F_D2I_NETSCAPE_SPKAC 143
#define ASN1_F_D2I_NETSCAPE_SPKI 144
#define ASN1_F_D2I_NETSCAPE_SPKI 144
#define ASN1_F_D2I_NOTICEREF 268
#define ASN1_F_D2I_NOTICEREF 268
#define ASN1_F_D2I_OTHERNAME 287
#define ASN1_F_D2I_PBE2PARAM 262
#define ASN1_F_D2I_PBE2PARAM 262
#define ASN1_F_D2I_PBEPARAM 249
#define ASN1_F_D2I_PBEPARAM 249
#define ASN1_F_D2I_PBKDF2PARAM 263
#define ASN1_F_D2I_PBKDF2PARAM 263
...
@@ -926,6 +927,7 @@ void ASN1_STRING_TABLE_cleanup(void);
...
@@ -926,6 +927,7 @@ void ASN1_STRING_TABLE_cleanup(void);
#define ASN1_F_NETSCAPE_SPKAC_NEW 190
#define ASN1_F_NETSCAPE_SPKAC_NEW 190
#define ASN1_F_NETSCAPE_SPKI_NEW 191
#define ASN1_F_NETSCAPE_SPKI_NEW 191
#define ASN1_F_NOTICEREF_NEW 272
#define ASN1_F_NOTICEREF_NEW 272
#define ASN1_F_OTHERNAME_NEW 288
#define ASN1_F_PBE2PARAM_NEW 264
#define ASN1_F_PBE2PARAM_NEW 264
#define ASN1_F_PBEPARAM_NEW 251
#define ASN1_F_PBEPARAM_NEW 251
#define ASN1_F_PBKDF2PARAM_NEW 265
#define ASN1_F_PBKDF2PARAM_NEW 265
...
...
crypto/asn1/asn1_err.c
浏览文件 @
a716d727
...
@@ -138,6 +138,7 @@ static ERR_STRING_DATA ASN1_str_functs[]=
...
@@ -138,6 +138,7 @@ static ERR_STRING_DATA ASN1_str_functs[]=
{
ERR_PACK
(
0
,
ASN1_F_D2I_NETSCAPE_SPKAC
,
0
),
"d2i_NETSCAPE_SPKAC"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_NETSCAPE_SPKAC
,
0
),
"d2i_NETSCAPE_SPKAC"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_NETSCAPE_SPKI
,
0
),
"d2i_NETSCAPE_SPKI"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_NETSCAPE_SPKI
,
0
),
"d2i_NETSCAPE_SPKI"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_NOTICEREF
,
0
),
"d2i_NOTICEREF"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_NOTICEREF
,
0
),
"d2i_NOTICEREF"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_OTHERNAME
,
0
),
"d2i_OTHERNAME"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_PBE2PARAM
,
0
),
"d2i_PBE2PARAM"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_PBE2PARAM
,
0
),
"d2i_PBE2PARAM"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_PBEPARAM
,
0
),
"d2i_PBEPARAM"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_PBEPARAM
,
0
),
"d2i_PBEPARAM"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_PBKDF2PARAM
,
0
),
"d2i_PBKDF2PARAM"
},
{
ERR_PACK
(
0
,
ASN1_F_D2I_PBKDF2PARAM
,
0
),
"d2i_PBKDF2PARAM"
},
...
@@ -206,6 +207,7 @@ static ERR_STRING_DATA ASN1_str_functs[]=
...
@@ -206,6 +207,7 @@ static ERR_STRING_DATA ASN1_str_functs[]=
{
ERR_PACK
(
0
,
ASN1_F_NETSCAPE_SPKAC_NEW
,
0
),
"NETSCAPE_SPKAC_new"
},
{
ERR_PACK
(
0
,
ASN1_F_NETSCAPE_SPKAC_NEW
,
0
),
"NETSCAPE_SPKAC_new"
},
{
ERR_PACK
(
0
,
ASN1_F_NETSCAPE_SPKI_NEW
,
0
),
"NETSCAPE_SPKI_new"
},
{
ERR_PACK
(
0
,
ASN1_F_NETSCAPE_SPKI_NEW
,
0
),
"NETSCAPE_SPKI_new"
},
{
ERR_PACK
(
0
,
ASN1_F_NOTICEREF_NEW
,
0
),
"NOTICEREF_new"
},
{
ERR_PACK
(
0
,
ASN1_F_NOTICEREF_NEW
,
0
),
"NOTICEREF_new"
},
{
ERR_PACK
(
0
,
ASN1_F_OTHERNAME_NEW
,
0
),
"OTHERNAME_new"
},
{
ERR_PACK
(
0
,
ASN1_F_PBE2PARAM_NEW
,
0
),
"PBE2PARAM_new"
},
{
ERR_PACK
(
0
,
ASN1_F_PBE2PARAM_NEW
,
0
),
"PBE2PARAM_new"
},
{
ERR_PACK
(
0
,
ASN1_F_PBEPARAM_NEW
,
0
),
"PBEPARAM_new"
},
{
ERR_PACK
(
0
,
ASN1_F_PBEPARAM_NEW
,
0
),
"PBEPARAM_new"
},
{
ERR_PACK
(
0
,
ASN1_F_PBKDF2PARAM_NEW
,
0
),
"PBKDF2PARAM_new"
},
{
ERR_PACK
(
0
,
ASN1_F_PBKDF2PARAM_NEW
,
0
),
"PBKDF2PARAM_new"
},
...
...
crypto/x509v3/v3_genn.c
浏览文件 @
a716d727
...
@@ -88,12 +88,15 @@ int i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **pp)
...
@@ -88,12 +88,15 @@ int i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **pp)
switch
(
a
->
type
)
{
switch
(
a
->
type
)
{
case
GEN_OTHERNAME
:
case
GEN_X400
:
case
GEN_X400
:
case
GEN_EDIPARTY
:
case
GEN_EDIPARTY
:
ret
=
i2d_ASN1_TYPE
(
a
->
d
.
other
,
pp
);
ret
=
i2d_ASN1_TYPE
(
a
->
d
.
other
,
pp
);
break
;
break
;
case
GEN_OTHERNAME
:
ret
=
i2d_OTHERNAME
(
a
->
d
.
otherName
,
pp
);
break
;
case
GEN_EMAIL
:
case
GEN_EMAIL
:
case
GEN_DNS
:
case
GEN_DNS
:
case
GEN_URI
:
case
GEN_URI
:
...
@@ -137,12 +140,15 @@ GENERAL_NAME *d2i_GENERAL_NAME(GENERAL_NAME **a, unsigned char **pp,
...
@@ -137,12 +140,15 @@ GENERAL_NAME *d2i_GENERAL_NAME(GENERAL_NAME **a, unsigned char **pp,
switch
(
ret
->
type
)
{
switch
(
ret
->
type
)
{
/* Just put these in a "blob" for now */
/* Just put these in a "blob" for now */
case
GEN_OTHERNAME
:
case
GEN_X400
:
case
GEN_X400
:
case
GEN_EDIPARTY
:
case
GEN_EDIPARTY
:
M_ASN1_D2I_get_imp
(
ret
->
d
.
other
,
d2i_ASN1_TYPE
,
V_ASN1_SEQUENCE
);
M_ASN1_D2I_get_imp
(
ret
->
d
.
other
,
d2i_ASN1_TYPE
,
V_ASN1_SEQUENCE
);
break
;
break
;
case
GEN_OTHERNAME
:
M_ASN1_D2I_get_imp
(
ret
->
d
.
otherName
,
d2i_OTHERNAME
,
V_ASN1_SEQUENCE
);
break
;
case
GEN_EMAIL
:
case
GEN_EMAIL
:
case
GEN_DNS
:
case
GEN_DNS
:
case
GEN_URI
:
case
GEN_URI
:
...
@@ -176,12 +182,15 @@ void GENERAL_NAME_free(GENERAL_NAME *a)
...
@@ -176,12 +182,15 @@ void GENERAL_NAME_free(GENERAL_NAME *a)
{
{
if
(
a
==
NULL
)
return
;
if
(
a
==
NULL
)
return
;
switch
(
a
->
type
)
{
switch
(
a
->
type
)
{
case
GEN_OTHERNAME
:
case
GEN_X400
:
case
GEN_X400
:
case
GEN_EDIPARTY
:
case
GEN_EDIPARTY
:
ASN1_TYPE_free
(
a
->
d
.
other
);
ASN1_TYPE_free
(
a
->
d
.
other
);
break
;
break
;
case
GEN_OTHERNAME
:
OTHERNAME_free
(
a
->
d
.
otherName
);
break
;
case
GEN_EMAIL
:
case
GEN_EMAIL
:
case
GEN_DNS
:
case
GEN_DNS
:
case
GEN_URI
:
case
GEN_URI
:
...
@@ -205,8 +214,8 @@ void GENERAL_NAME_free(GENERAL_NAME *a)
...
@@ -205,8 +214,8 @@ void GENERAL_NAME_free(GENERAL_NAME *a)
Free
((
char
*
)
a
);
Free
((
char
*
)
a
);
}
}
/* Now the GeneralNames versions: a SEQUENCE OF GeneralName These are needed as
/* Now the GeneralNames versions: a SEQUENCE OF GeneralName
.
These are needed as
*
an
explicit functions.
* explicit functions.
*/
*/
STACK_OF
(
GENERAL_NAME
)
*
GENERAL_NAMES_new
()
STACK_OF
(
GENERAL_NAME
)
*
GENERAL_NAMES_new
()
...
@@ -235,3 +244,48 @@ return i2d_ASN1_SET_OF_GENERAL_NAME(a, pp, i2d_GENERAL_NAME, V_ASN1_SEQUENCE,
...
@@ -235,3 +244,48 @@ return i2d_ASN1_SET_OF_GENERAL_NAME(a, pp, i2d_GENERAL_NAME, V_ASN1_SEQUENCE,
IMPLEMENT_STACK_OF
(
GENERAL_NAME
)
IMPLEMENT_STACK_OF
(
GENERAL_NAME
)
IMPLEMENT_ASN1_SET_OF
(
GENERAL_NAME
)
IMPLEMENT_ASN1_SET_OF
(
GENERAL_NAME
)
int
i2d_OTHERNAME
(
OTHERNAME
*
a
,
unsigned
char
**
pp
)
{
int
v
=
0
;
M_ASN1_I2D_vars
(
a
);
M_ASN1_I2D_len
(
a
->
type_id
,
i2d_ASN1_OBJECT
);
M_ASN1_I2D_len_EXP_opt
(
a
->
value
,
i2d_ASN1_TYPE
,
0
,
v
);
M_ASN1_I2D_seq_total
();
M_ASN1_I2D_put
(
a
->
type_id
,
i2d_ASN1_OBJECT
);
M_ASN1_I2D_put_EXP_opt
(
a
->
value
,
i2d_ASN1_TYPE
,
0
,
v
);
M_ASN1_I2D_finish
();
}
OTHERNAME
*
OTHERNAME_new
(
void
)
{
OTHERNAME
*
ret
=
NULL
;
ASN1_CTX
c
;
M_ASN1_New_Malloc
(
ret
,
OTHERNAME
);
ret
->
type_id
=
OBJ_nid2obj
(
NID_undef
);
M_ASN1_New
(
ret
->
value
,
ASN1_TYPE_new
);
return
(
ret
);
M_ASN1_New_Error
(
ASN1_F_OTHERNAME_NEW
);
}
OTHERNAME
*
d2i_OTHERNAME
(
OTHERNAME
**
a
,
unsigned
char
**
pp
,
long
length
)
{
M_ASN1_D2I_vars
(
a
,
OTHERNAME
*
,
OTHERNAME_new
);
M_ASN1_D2I_Init
();
M_ASN1_D2I_start_sequence
();
M_ASN1_D2I_get
(
ret
->
type_id
,
d2i_ASN1_OBJECT
);
M_ASN1_D2I_get_EXP_opt
(
ret
->
value
,
d2i_ASN1_TYPE
,
0
);
M_ASN1_D2I_Finish
(
a
,
OTHERNAME_free
,
ASN1_F_D2I_OTHERNAME
);
}
void
OTHERNAME_free
(
OTHERNAME
*
a
)
{
if
(
a
==
NULL
)
return
;
ASN1_OBJECT_free
(
a
->
type_id
);
ASN1_TYPE_free
(
a
->
value
);
Free
((
char
*
)
a
);
}
crypto/x509v3/x509v3.h
浏览文件 @
a716d727
...
@@ -149,6 +149,11 @@ ASN1_GENERALIZEDTIME *notBefore;
...
@@ -149,6 +149,11 @@ ASN1_GENERALIZEDTIME *notBefore;
ASN1_GENERALIZEDTIME
*
notAfter
;
ASN1_GENERALIZEDTIME
*
notAfter
;
}
PKEY_USAGE_PERIOD
;
}
PKEY_USAGE_PERIOD
;
typedef
struct
otherName_st
{
ASN1_OBJECT
*
type_id
;
ASN1_TYPE
*
value
;
}
OTHERNAME
;
typedef
struct
GENERAL_NAME_st
{
typedef
struct
GENERAL_NAME_st
{
#define GEN_OTHERNAME (0|V_ASN1_CONTEXT_SPECIFIC)
#define GEN_OTHERNAME (0|V_ASN1_CONTEXT_SPECIFIC)
...
@@ -168,7 +173,8 @@ union {
...
@@ -168,7 +173,8 @@ union {
ASN1_OCTET_STRING
*
ip
;
/* iPAddress */
ASN1_OCTET_STRING
*
ip
;
/* iPAddress */
X509_NAME
*
dirn
;
/* dirn */
X509_NAME
*
dirn
;
/* dirn */
ASN1_OBJECT
*
rid
;
/* registeredID */
ASN1_OBJECT
*
rid
;
/* registeredID */
ASN1_TYPE
*
other
;
/* otherName, ediPartyName, x400Address */
OTHERNAME
*
otherName
;
/* otherName */
ASN1_TYPE
*
other
;
/* ediPartyName, x400Address */
}
d
;
}
d
;
}
GENERAL_NAME
;
}
GENERAL_NAME
;
...
@@ -376,6 +382,11 @@ STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
...
@@ -376,6 +382,11 @@ STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
STACK_OF
(
GENERAL_NAME
)
*
v2i_GENERAL_NAMES
(
X509V3_EXT_METHOD
*
method
,
STACK_OF
(
GENERAL_NAME
)
*
v2i_GENERAL_NAMES
(
X509V3_EXT_METHOD
*
method
,
X509V3_CTX
*
ctx
,
STACK_OF
(
CONF_VALUE
)
*
nval
);
X509V3_CTX
*
ctx
,
STACK_OF
(
CONF_VALUE
)
*
nval
);
int
i2d_OTHERNAME
(
OTHERNAME
*
a
,
unsigned
char
**
pp
);
OTHERNAME
*
OTHERNAME_new
(
void
);
OTHERNAME
*
d2i_OTHERNAME
(
OTHERNAME
**
a
,
unsigned
char
**
pp
,
long
length
);
void
OTHERNAME_free
(
OTHERNAME
*
a
);
char
*
i2s_ASN1_OCTET_STRING
(
X509V3_EXT_METHOD
*
method
,
ASN1_OCTET_STRING
*
ia5
);
char
*
i2s_ASN1_OCTET_STRING
(
X509V3_EXT_METHOD
*
method
,
ASN1_OCTET_STRING
*
ia5
);
ASN1_OCTET_STRING
*
s2i_ASN1_OCTET_STRING
(
X509V3_EXT_METHOD
*
method
,
X509V3_CTX
*
ctx
,
char
*
str
);
ASN1_OCTET_STRING
*
s2i_ASN1_OCTET_STRING
(
X509V3_EXT_METHOD
*
method
,
X509V3_CTX
*
ctx
,
char
*
str
);
...
...
util/libeay.num
浏览文件 @
a716d727
...
@@ -2020,3 +2020,9 @@ X509_notrust_set_bit_asc 2044
...
@@ -2020,3 +2020,9 @@ X509_notrust_set_bit_asc 2044
i2d_X509_AUX 2045
i2d_X509_AUX 2045
ASN1_BIT_STRING_name_print 2046
ASN1_BIT_STRING_name_print 2046
X509_add_trust_object 2047
X509_add_trust_object 2047
OTHERNAME_new 2048
i2d_OTHERNAME 2049
CRYPTO_add_info 2050
d2i_OTHERNAME 2051
OTHERNAME_free 2052
X509_cmp 2053
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录