Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
34216c04
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
8 个月 前同步成功
通知
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 搜索 >>
提交
34216c04
编写于
9月 05, 2000
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Keep a not of original encoding in certificate requests.
Add new option to PKCS7_sign to exclude S/MIME capabilities.
上级
22c7ea40
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
49 addition
and
11 deletion
+49
-11
CHANGES
CHANGES
+11
-0
apps/smime.c
apps/smime.c
+2
-0
crypto/asn1/x_req.c
crypto/asn1/x_req.c
+21
-0
crypto/pkcs7/pk7_smime.c
crypto/pkcs7/pk7_smime.c
+3
-0
crypto/pkcs7/pkcs7.h
crypto/pkcs7/pkcs7.h
+10
-9
crypto/x509/x509.h
crypto/x509/x509.h
+2
-0
ssl/ssl_lib.c
ssl/ssl_lib.c
+0
-2
未找到文件。
CHANGES
浏览文件 @
34216c04
...
...
@@ -4,6 +4,17 @@
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
*) Add new PKCS#7 signing option PKCS7_NOSMIMECAP which
excludes S/MIME capabilities.
[Steve Henson]
*) When a certificate request is read in keep a copy of the
original encoding of the signed data and use it when outputing
again. Signatures then use the original encoding rather than
a decoded, encoded version which may cause problems if the
request is improperly encoded.
[Steve Henson]
*) For consistency with other BIO_puts implementations, call
buffer_write(b, ...) directly in buffer_puts instead of calling
BIO_write(b, ...).
...
...
apps/smime.c
浏览文件 @
34216c04
...
...
@@ -141,6 +141,8 @@ int MAIN(int argc, char **argv)
flags
|=
PKCS7_NOATTR
;
else
if
(
!
strcmp
(
*
args
,
"-nodetach"
))
flags
&=
~
PKCS7_DETACHED
;
else
if
(
!
strcmp
(
*
args
,
"-nosmimecap"
))
flags
|=
PKCS7_NOSMIMECAP
;
else
if
(
!
strcmp
(
*
args
,
"-binary"
))
flags
|=
PKCS7_BINARY
;
else
if
(
!
strcmp
(
*
args
,
"-nosigs"
))
...
...
crypto/asn1/x_req.c
浏览文件 @
34216c04
...
...
@@ -65,6 +65,14 @@ int i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **pp)
{
M_ASN1_I2D_vars
(
a
);
if
(
a
->
asn1
)
{
if
(
pp
)
{
memcpy
(
*
pp
,
a
->
asn1
,
a
->
length
);
*
pp
+=
a
->
length
;
}
return
a
->
length
;
}
M_ASN1_I2D_len
(
a
->
version
,
i2d_ASN1_INTEGER
);
M_ASN1_I2D_len
(
a
->
subject
,
i2d_X509_NAME
);
M_ASN1_I2D_len
(
a
->
pubkey
,
i2d_X509_PUBKEY
);
...
...
@@ -152,6 +160,7 @@ X509_REQ_INFO *X509_REQ_INFO_new(void)
M_ASN1_New
(
ret
->
pubkey
,
X509_PUBKEY_new
);
M_ASN1_New
(
ret
->
attributes
,
sk_X509_ATTRIBUTE_new_null
);
ret
->
req_kludge
=
0
;
ret
->
asn1
=
NULL
;
return
(
ret
);
M_ASN1_New_Error
(
ASN1_F_X509_REQ_INFO_NEW
);
}
...
...
@@ -159,6 +168,7 @@ X509_REQ_INFO *X509_REQ_INFO_new(void)
void
X509_REQ_INFO_free
(
X509_REQ_INFO
*
a
)
{
if
(
a
==
NULL
)
return
;
if
(
a
->
asn1
)
OPENSSL_free
(
a
->
asn1
);
M_ASN1_INTEGER_free
(
a
->
version
);
X509_NAME_free
(
a
->
subject
);
X509_PUBKEY_free
(
a
->
pubkey
);
...
...
@@ -189,6 +199,17 @@ X509_REQ *d2i_X509_REQ(X509_REQ **a, unsigned char **pp, long length)
M_ASN1_D2I_Init
();
M_ASN1_D2I_start_sequence
();
M_ASN1_D2I_get
(
ret
->
req_info
,
d2i_X509_REQ_INFO
);
/* Keep a copy of the original encoding for signature checking */
ret
->
req_info
->
length
=
c
.
p
-
c
.
q
;
if
(
!
(
ret
->
req_info
->
asn1
=
OPENSSL_malloc
(
ret
->
req_info
->
length
)))
{
c
.
line
=
__LINE__
;
c
.
error
=
ERR_R_MALLOC_FAILURE
;
goto
err
;
}
memcpy
(
ret
->
req_info
->
asn1
,
c
.
q
,
ret
->
req_info
->
length
);
M_ASN1_D2I_get
(
ret
->
sig_alg
,
d2i_X509_ALGOR
);
M_ASN1_D2I_get
(
ret
->
signature
,
d2i_ASN1_BIT_STRING
);
M_ASN1_D2I_Finish
(
a
,
X509_REQ_free
,
ASN1_F_D2I_X509_REQ
);
...
...
crypto/pkcs7/pk7_smime.c
浏览文件 @
34216c04
...
...
@@ -109,6 +109,8 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
PKCS7_add_signed_attribute
(
si
,
NID_pkcs9_contentType
,
V_ASN1_OBJECT
,
OBJ_nid2obj
(
NID_pkcs7_data
));
/* Add SMIMECapabilities */
if
(
!
(
flags
&
PKCS7_NOSMIMECAP
))
{
if
(
!
(
smcap
=
sk_X509_ALGOR_new
(
NULL
)))
{
PKCS7err
(
PKCS7_F_PKCS7_SIGN
,
ERR_R_MALLOC_FAILURE
);
return
NULL
;
...
...
@@ -128,6 +130,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
#endif
PKCS7_add_attrib_smimecap
(
si
,
smcap
);
sk_X509_ALGOR_pop_free
(
smcap
,
X509_ALGOR_free
);
}
}
if
(
flags
&
PKCS7_DETACHED
)
PKCS7_set_detached
(
p7
,
1
);
...
...
crypto/pkcs7/pkcs7.h
浏览文件 @
34216c04
...
...
@@ -247,15 +247,16 @@ DECLARE_PKCS12_STACK_OF(PKCS7)
/* S/MIME related flags */
#define PKCS7_TEXT 0x1
#define PKCS7_NOCERTS 0x2
#define PKCS7_NOSIGS 0x4
#define PKCS7_NOCHAIN 0x8
#define PKCS7_NOINTERN 0x10
#define PKCS7_NOVERIFY 0x20
#define PKCS7_DETACHED 0x40
#define PKCS7_BINARY 0x80
#define PKCS7_NOATTR 0x100
#define PKCS7_TEXT 0x1
#define PKCS7_NOCERTS 0x2
#define PKCS7_NOSIGS 0x4
#define PKCS7_NOCHAIN 0x8
#define PKCS7_NOINTERN 0x10
#define PKCS7_NOVERIFY 0x20
#define PKCS7_DETACHED 0x40
#define PKCS7_BINARY 0x80
#define PKCS7_NOATTR 0x100
#define PKCS7_NOSMIMECAP 0x200
/* Flags: for compatibility with older code */
...
...
crypto/x509/x509.h
浏览文件 @
34216c04
...
...
@@ -213,6 +213,8 @@ DECLARE_ASN1_SET_OF(X509_ATTRIBUTE)
typedef
struct
X509_req_info_st
{
unsigned
char
*
asn1
;
int
length
;
ASN1_INTEGER
*
version
;
X509_NAME
*
subject
;
X509_PUBKEY
*
pubkey
;
...
...
ssl/ssl_lib.c
浏览文件 @
34216c04
...
...
@@ -1846,8 +1846,6 @@ int ssl_init_wbio_buffer(SSL *s,int push)
void
ssl_free_wbio_buffer
(
SSL
*
s
)
{
BIO
*
under
;
if
(
s
->
bbio
==
NULL
)
return
;
if
(
s
->
bbio
==
s
->
wbio
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录