Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
c74f1eb9
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
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,发现更多精彩内容 >>
提交
c74f1eb9
编写于
2月 20, 1999
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Preliminary support for reason code CRL extension.
上级
ee5425d9
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
137 addition
and
6 deletion
+137
-6
crypto/x509v3/Makefile.ssl
crypto/x509v3/Makefile.ssl
+2
-2
crypto/x509v3/v3_enum.c
crypto/x509v3/v3_enum.c
+105
-0
crypto/x509v3/v3_lib.c
crypto/x509v3/v3_lib.c
+2
-1
crypto/x509v3/v3_utl.c
crypto/x509v3/v3_utl.c
+16
-2
crypto/x509v3/v3err.c
crypto/x509v3/v3err.c
+2
-1
crypto/x509v3/x509v3.err
crypto/x509v3/x509v3.err
+1
-0
crypto/x509v3/x509v3.h
crypto/x509v3/x509v3.h
+9
-0
未找到文件。
crypto/x509v3/Makefile.ssl
浏览文件 @
c74f1eb9
...
...
@@ -24,10 +24,10 @@ APPS=
LIB
=
$(TOP)
/libcrypto.a
LIBSRC
=
v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c
\
v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c
\
v3_pku.c v3_int.c
v3_pku.c v3_int.c
v3_enum.c
LIBOBJ
=
v3_bcons.o v3_bitst.o v3_conf.o v3_extku.o v3_ia5.o v3_lib.o
\
v3_prn.o v3_utl.o v3err.o v3_genn.o v3_alt.o v3_skey.o v3_akey.o v3_pku.o
\
v3_int.o
v3_int.o
v3_enum.o
SRC
=
$(LIBSRC)
...
...
crypto/x509v3/v3_enum.c
0 → 100644
浏览文件 @
c74f1eb9
/* v3_enum.c */
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
* project 1999.
*/
/* ====================================================================
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* licensing@OpenSSL.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <pem.h>
#include <err.h>
#include "x509v3.h"
static
ASN1_ENUMERATED
*
asn1_enumerated_new
();
static
ENUMERATED_NAMES
crl_reasons
[]
=
{
{
0
,
"Unspecified"
,
"unspecified"
},
{
1
,
"Key Compromise"
,
"keyCompromise"
},
{
2
,
"CA Compromise"
,
"CACompromise"
},
{
3
,
"Affiliation Changed"
,
"affiliationChanged"
},
{
4
,
"Superseded"
,
"superseded"
},
{
5
,
"Cessation Of Operation"
,
"cessationOfOperation"
},
{
6
,
"Certificate Hold"
,
"certificateHold"
},
{
8
,
"Remove From CRL"
,
"removeFromCRL"
},
{
-
1
,
NULL
,
NULL
}
};
X509V3_EXT_METHOD
v3_crl_reason
=
{
NID_crl_reason
,
0
,
(
X509V3_EXT_NEW
)
asn1_enumerated_new
,
ASN1_STRING_free
,
(
X509V3_EXT_D2I
)
d2i_ASN1_ENUMERATED
,
i2d_ASN1_ENUMERATED
,
(
X509V3_EXT_I2S
)
i2s_ASN1_ENUMERATED_TABLE
,
(
X509V3_EXT_S2I
)
NULL
,
NULL
,
NULL
,
NULL
,
(
char
*
)
crl_reasons
};
static
ASN1_ENUMERATED
*
asn1_enumerated_new
()
{
return
ASN1_ENUMERATED_new
();
}
char
*
i2s_ASN1_ENUMERATED_TABLE
(
method
,
e
)
X509V3_EXT_METHOD
*
method
;
ASN1_ENUMERATED
*
e
;
{
ENUMERATED_NAMES
*
enam
;
long
strval
;
strval
=
ASN1_ENUMERATED_get
(
e
);
for
(
enam
=
(
ENUMERATED_NAMES
*
)
method
->
usr_data
;
enam
->
lname
;
enam
++
)
{
if
(
strval
==
enam
->
bitnum
)
return
str_dup
(
enam
->
lname
);
}
return
i2s_ASN1_ENUMERATED
(
method
,
e
);
}
crypto/x509v3/v3_lib.c
浏览文件 @
c74f1eb9
...
...
@@ -150,7 +150,7 @@ extern X509V3_EXT_METHOD v3_bcons, v3_nscert, v3_key_usage, v3_ext_ku;
extern
X509V3_EXT_METHOD
v3_pkey_usage_period
;
extern
X509V3_EXT_METHOD
v3_ns_ia5_list
[],
v3_alt
[],
v3_skey_id
,
v3_akey_id
;
extern
X509V3_EXT_METHOD
v3_crl_num
;
extern
X509V3_EXT_METHOD
v3_crl_num
,
v3_crl_reason
;
int
X509V3_add_standard_extensions
()
{
...
...
@@ -164,6 +164,7 @@ int X509V3_add_standard_extensions()
X509V3_EXT_add
(
&
v3_akey_id
);
X509V3_EXT_add
(
&
v3_pkey_usage_period
);
X509V3_EXT_add
(
&
v3_crl_num
);
X509V3_EXT_add
(
&
v3_crl_reason
);
return
1
;
}
...
...
crypto/x509v3/v3_utl.c
浏览文件 @
c74f1eb9
...
...
@@ -65,10 +65,9 @@
#include <err.h>
#include "x509v3.h"
static
char
*
str_dup
(
char
*
str
);
static
char
*
strip_spaces
(
char
*
name
);
static
char
*
str_dup
(
str
)
char
*
str_dup
(
str
)
char
*
str
;
{
char
*
tmp
;
...
...
@@ -133,6 +132,21 @@ STACK **extlist;
return
1
;
}
char
*
i2s_ASN1_ENUMERATED
(
method
,
a
)
X509V3_EXT_METHOD
*
method
;
ASN1_ENUMERATED
*
a
;
{
BIGNUM
*
bntmp
=
NULL
;
char
*
strtmp
=
NULL
;
if
(
!
a
)
return
NULL
;
if
(
!
(
bntmp
=
ASN1_ENUMERATED_to_BN
(
a
,
NULL
))
||
!
(
strtmp
=
BN_bn2dec
(
bntmp
))
)
X509V3err
(
X509V3_F_I2S_ASN1_ENUMERATED
,
ERR_R_MALLOC_FAILURE
);
BN_free
(
bntmp
);
return
strtmp
;
}
char
*
i2s_ASN1_INTEGER
(
method
,
a
)
X509V3_EXT_METHOD
*
method
;
ASN1_INTEGER
*
a
;
...
...
crypto/x509v3/v3err.c
浏览文件 @
c74f1eb9
...
...
@@ -64,7 +64,8 @@
static
ERR_STRING_DATA
X509V3_str_functs
[]
=
{
{
ERR_PACK
(
0
,
X509V3_F_HEX_TO_STRING
,
0
),
"hex_to_string"
},
{
ERR_PACK
(
0
,
X509V3_F_I2S_ASN1_INTEGER
,
0
),
"I2S_ASN1_INTEGER"
},
{
ERR_PACK
(
0
,
X509V3_F_I2S_ASN1_ENUMERATED
,
0
),
"I2S_ASN1_ENUMERATED"
},
{
ERR_PACK
(
0
,
X509V3_F_I2S_ASN1_INTEGER
,
0
),
"i2s_ASN1_INTEGER"
},
{
ERR_PACK
(
0
,
X509V3_F_S2I_ASN1_IA5STRING
,
0
),
"S2I_ASN1_IA5STRING"
},
{
ERR_PACK
(
0
,
X509V3_F_S2I_ASN1_OCTET_STRING
,
0
),
"s2i_ASN1_OCTET_STRING"
},
{
ERR_PACK
(
0
,
X509V3_F_S2I_ASN1_SKEY_ID
,
0
),
"S2I_ASN1_SKEY_ID"
},
...
...
crypto/x509v3/x509v3.err
浏览文件 @
c74f1eb9
...
...
@@ -2,6 +2,7 @@
/* Function codes. */
#define X509V3_F_HEX_TO_STRING 111
#define X509V3_F_I2S_ASN1_ENUMERATED 121
#define X509V3_F_I2S_ASN1_INTEGER 120
#define X509V3_F_S2I_ASN1_IA5STRING 100
#define X509V3_F_S2I_ASN1_OCTET_STRING 112
...
...
crypto/x509v3/x509v3.h
浏览文件 @
c74f1eb9
...
...
@@ -130,6 +130,8 @@ char *lname;
char
*
sname
;
}
BIT_STRING_BITNAME
;
typedef
BIT_STRING_BITNAME
ENUMERATED_NAMES
;
typedef
struct
{
int
ca
;
ASN1_INTEGER
*
pathlen
;
...
...
@@ -241,6 +243,7 @@ GENERAL_NAME *v2i_GENERAL_NAME(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, CONF_
void
X509V3_conf_free
(
CONF_VALUE
*
val
);
X509_EXTENSION
*
X509V3_EXT_conf_nid
(
LHASH
*
conf
,
X509V3_CTX
*
ctx
,
int
ext_nid
,
char
*
value
);
X509_EXTENSION
*
X509V3_EXT_conf
(
LHASH
*
conf
,
X509V3_CTX
*
ctx
,
char
*
name
,
char
*
value
);
char
*
str_dup
(
char
*
val
);
int
X509V3_EXT_add_conf
(
LHASH
*
conf
,
X509V3_CTX
*
ctx
,
char
*
section
,
X509
*
cert
);
int
X509V3_EXT_check_conf
(
LHASH
*
conf
,
char
*
section
);
int
X509V3_get_value_bool
(
CONF_VALUE
*
value
,
int
*
asn1_bool
);
...
...
@@ -251,6 +254,8 @@ int X509V3_add_value(char *name, char *value, STACK **extlist);
int
X509V3_add_value_bool
(
char
*
name
,
int
asn1_bool
,
STACK
**
extlist
);
int
X509V3_add_value_int
(
char
*
name
,
ASN1_INTEGER
*
aint
,
STACK
**
extlist
);
char
*
i2s_ASN1_INTEGER
(
X509V3_EXT_METHOD
*
meth
,
ASN1_INTEGER
*
aint
);
char
*
i2s_ASN1_ENUMERATED
(
X509V3_EXT_METHOD
*
meth
,
ASN1_ENUMERATED
*
aint
);
char
*
i2s_ASN1_ENUMERATED_TABLE
(
X509V3_EXT_METHOD
*
meth
,
ASN1_ENUMERATED
*
aint
);
int
X509V3_EXT_add
(
X509V3_EXT_METHOD
*
ext
);
int
X509V3_EXT_add_alias
(
int
nid_to
,
int
nid_from
);
void
X509V3_EXT_cleanup
(
void
);
...
...
@@ -305,6 +310,7 @@ STACK *ext_ku_new();
#ifdef HEADER_CONF_H
void
X509V3_conf_free
();
char
*
str_dup
();
X509_EXTENSION
*
X509V3_EXT_conf_nid
();
X509_EXTENSION
*
X509V3_EXT_conf
();
int
X509V3_EXT_add_conf
();
...
...
@@ -317,6 +323,8 @@ int X509V3_add_value();
int
X509V3_add_value_bool
();
int
X509V3_add_value_int
();
char
*
i2s_ASN1_INTEGER
();
char
*
i2s_ASN1_ENUMERATED
();
char
*
i2s_ASN1_ENUMERATED_TABLE
();
int
X509V3_EXT_add
();
int
X509V3_EXT_add_alias
();
void
X509V3_EXT_cleanup
();
...
...
@@ -340,6 +348,7 @@ int X509V3_EXT_print_fp();
/* Function codes. */
#define X509V3_F_HEX_TO_STRING 111
#define X509V3_F_I2S_ASN1_ENUMERATED 121
#define X509V3_F_I2S_ASN1_INTEGER 120
#define X509V3_F_S2I_ASN1_IA5STRING 100
#define X509V3_F_S2I_ASN1_OCTET_STRING 112
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录