Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
359b0c9f
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
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看板
提交
359b0c9f
编写于
5月 03, 2010
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
experimental function to convert ASN1_TIME to tm, not used or even compiled in yet
上级
19f7e5e2
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
68 addition
and
6 deletion
+68
-6
crypto/asn1/a_gentm.c
crypto/asn1/a_gentm.c
+1
-1
crypto/asn1/a_time.c
crypto/asn1/a_time.c
+63
-1
crypto/asn1/a_utctm.c
crypto/asn1/a_utctm.c
+1
-1
crypto/asn1/asn1.h
crypto/asn1/asn1.h
+3
-3
未找到文件。
crypto/asn1/a_gentm.c
浏览文件 @
359b0c9f
...
...
@@ -115,7 +115,7 @@ err:
#endif
int
ASN1_GENERALIZEDTIME_check
(
ASN1_GENERALIZEDTIME
*
d
)
int
ASN1_GENERALIZEDTIME_check
(
const
ASN1_GENERALIZEDTIME
*
d
)
{
static
const
int
min
[
9
]
=
{
0
,
0
,
1
,
1
,
0
,
0
,
0
,
0
,
0
};
static
const
int
max
[
9
]
=
{
99
,
99
,
12
,
31
,
23
,
59
,
59
,
12
,
59
};
...
...
crypto/asn1/a_time.c
浏览文件 @
359b0c9f
...
...
@@ -125,7 +125,7 @@ ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,
return
ASN1_GENERALIZEDTIME_adj
(
s
,
t
,
offset_day
,
offset_sec
);
}
int
ASN1_TIME_check
(
ASN1_TIME
*
t
)
int
ASN1_TIME_check
(
const
ASN1_TIME
*
t
)
{
if
(
t
->
type
==
V_ASN1_GENERALIZEDTIME
)
return
ASN1_GENERALIZEDTIME_check
(
t
);
...
...
@@ -196,3 +196,65 @@ int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
return
1
;
}
#if 0
static int asn1_time_to_tm(struct tm *tm, const ASN1_TIME *s)
{
const unsigned char *p;
if (!ASN1_TIME_check(s))
return 0;
memset(tm, 0 ,sizeof tm);
p = s->data;
#define g2(p) (((p)[0] - '0') * 10 + ((p)[1] - '0'))
if (s->type == V_ASN1_GENERALIZEDTIME)
{
int yr = g2(p) * 100 + g2(p + 2);
if (yr < 1900)
return 0;
tm->tm_year = yr - 1900;
p += 4;
}
else
{
tm->tm_year=g2(p);
if(tm->tm_year < 50)
tm->tm_year+=100;
p += 2;
}
tm->tm_mon=g2(p)-1;
tm->tm_mday=g2(p + 2);
tm->tm_hour=g2(p + 4);
tm->tm_min=g2(p + 6);
p += 8;
/* Seconds optional in UTCTime */
if (s->type == V_ASN1_GENERALIZEDTIME || (*p >= '0' && *p <= '9'))
{
tm->tm_sec=g2(p);
p += 2;
}
else
tm->tm_sec = 0;
if (s->type == V_ASN1_GENERALIZEDTIME)
{
/* Skip any fractional seconds */
if (*p == '.')
{
p++;
while (*p >= '0' && *p <= '9')
p++;
}
}
/* Timezone */
if(*p != 'Z')
{
int off_sec = g2(p + 1) * 3600 + g2(p + 3) * 60;
if(*p == '-')
off_sec = -off_sec;
OPENSSL_gmtime_adj(tm, 0, off_sec);
}
return 1;
}
#endif
crypto/asn1/a_utctm.c
浏览文件 @
359b0c9f
...
...
@@ -112,7 +112,7 @@ err:
#endif
int
ASN1_UTCTIME_check
(
ASN1_UTCTIME
*
d
)
int
ASN1_UTCTIME_check
(
const
ASN1_UTCTIME
*
d
)
{
static
const
int
min
[
8
]
=
{
0
,
1
,
1
,
0
,
0
,
0
,
0
,
0
};
static
const
int
max
[
8
]
=
{
99
,
12
,
31
,
23
,
59
,
59
,
12
,
59
};
...
...
crypto/asn1/asn1.h
浏览文件 @
359b0c9f
...
...
@@ -839,7 +839,7 @@ int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y);
DECLARE_ASN1_FUNCTIONS
(
ASN1_ENUMERATED
)
int
ASN1_UTCTIME_check
(
ASN1_UTCTIME
*
a
);
int
ASN1_UTCTIME_check
(
const
ASN1_UTCTIME
*
a
);
ASN1_UTCTIME
*
ASN1_UTCTIME_set
(
ASN1_UTCTIME
*
s
,
time_t
t
);
ASN1_UTCTIME
*
ASN1_UTCTIME_adj
(
ASN1_UTCTIME
*
s
,
time_t
t
,
int
offset_day
,
long
offset_sec
);
...
...
@@ -849,7 +849,7 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t);
time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s);
#endif
int
ASN1_GENERALIZEDTIME_check
(
ASN1_GENERALIZEDTIME
*
a
);
int
ASN1_GENERALIZEDTIME_check
(
const
ASN1_GENERALIZEDTIME
*
a
);
ASN1_GENERALIZEDTIME
*
ASN1_GENERALIZEDTIME_set
(
ASN1_GENERALIZEDTIME
*
s
,
time_t
t
);
ASN1_GENERALIZEDTIME
*
ASN1_GENERALIZEDTIME_adj
(
ASN1_GENERALIZEDTIME
*
s
,
time_t
t
,
int
offset_day
,
long
offset_sec
);
...
...
@@ -886,7 +886,7 @@ DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF)
ASN1_TIME
*
ASN1_TIME_set
(
ASN1_TIME
*
s
,
time_t
t
);
ASN1_TIME
*
ASN1_TIME_adj
(
ASN1_TIME
*
s
,
time_t
t
,
int
offset_day
,
long
offset_sec
);
int
ASN1_TIME_check
(
ASN1_TIME
*
t
);
int
ASN1_TIME_check
(
const
ASN1_TIME
*
t
);
ASN1_GENERALIZEDTIME
*
ASN1_TIME_to_generalizedtime
(
ASN1_TIME
*
t
,
ASN1_GENERALIZEDTIME
**
out
);
int
ASN1_TIME_set_string
(
ASN1_TIME
*
s
,
const
char
*
str
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录