Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
8efb6014
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看板
提交
8efb6014
编写于
2月 01, 2000
作者:
U
Ulf Möller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
EBCDIC support.
Submitted by: Martin Kraemer <martin.kraemer@mch.sni.de>
上级
388f2f56
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
249 addition
and
9 deletion
+249
-9
CHANGES
CHANGES
+3
-0
Configure
Configure
+1
-1
crypto/Makefile.ssl
crypto/Makefile.ssl
+2
-2
crypto/bn/Makefile.ssl
crypto/bn/Makefile.ssl
+3
-0
crypto/ebcdic.c
crypto/ebcdic.c
+213
-0
crypto/ebcdic.h
crypto/ebcdic.h
+8
-6
crypto/x509v3/v3_ia5.c
crypto/x509v3/v3_ia5.c
+3
-0
crypto/x509v3/v3_prn.c
crypto/x509v3/v3_prn.c
+16
-0
未找到文件。
CHANGES
浏览文件 @
8efb6014
...
...
@@ -4,6 +4,9 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
*) Support the EBCDIC character set completed.
[Martin Kraemer <Martin.Kraemer@Mch.SNI.De>]
*) Source code cleanups: use const where appropriate, eliminate casts,
use void * instead of char * in lhash.
[Ulf Möller]
...
...
Configure
浏览文件 @
8efb6014
...
...
@@ -281,7 +281,7 @@ my %table=(
"SINIX-N","/usr/ucb/cc:-O2 -misaligned::(unknown):-lucb:RC4_INDEX RC4_CHAR:::",
# SIEMENS BS2000/OSD: an EBCDIC-based mainframe
"BS2000-OSD","c89:-XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(unknown):-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
"BS2000-OSD","c89:-
O -
XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(unknown):-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
# Windows NT, Microsoft Visual C++ 4.0
...
...
crypto/Makefile.ssl
浏览文件 @
8efb6014
...
...
@@ -34,8 +34,8 @@ SDIRS= md2 md5 sha mdc2 hmac ripemd \
GENERAL
=
Makefile README crypto-lib.com install.com
LIB
=
$(TOP)
/libcrypto.a
LIBSRC
=
cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c
LIBOBJ
=
cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o
LIBSRC
=
cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c
ebcdic.c
LIBOBJ
=
cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o
ebcdic.o
SRC
=
$(LIBSRC)
...
...
crypto/bn/Makefile.ssl
浏览文件 @
8efb6014
...
...
@@ -62,6 +62,9 @@ bn_prime.h: bn_prime.pl
knuth
:
bn_knuth.c
cc
-pg
-I
..
-I
../../include bn_knuth.c
-o
knuth
$(LIB)
#../../../libefence.a
bnbug
:
bnbug.c
cc
-I
..
-I
../../include bnbug.c
-o
bnbug
$(LIB)
knuth.fast
:
bn_knuth.c
cc
-pg
-fast
-I
..
-I
../../include bn_knuth.c
-o
knuth
$(LIB)
#../../../libefence.a
...
...
crypto/ebcdic.c
0 → 100644
浏览文件 @
8efb6014
/* crypto/ebcdic.c */
#ifdef CHARSET_EBCDIC
#include "ebcdic.h"
/* Initial Port for Apache-1.3 by <Martin.Kraemer@Mch.SNI.De>
* Adapted for OpenSSL-0.9.4 by <Martin.Kraemer@Mch.SNI.De>
*/
#ifdef _OSD_POSIX
/*
"BS2000 OSD" is a POSIX subsystem on a main frame.
It is made by Siemens AG, Germany, for their BS2000 mainframe machines.
Within the POSIX subsystem, the same character set was chosen as in
"native BS2000", namely EBCDIC. (EDF04)
The name "ASCII" in these routines is misleading: actually, conversion
is not between EBCDIC and ASCII, but EBCDIC(EDF04) and ISO-8859.1;
that means that (western european) national characters are preserved.
This table is identical to the one used by rsh/rcp/ftp and other POSIX tools.
*/
/* Here's the bijective ebcdic-to-ascii table: */
const
unsigned
char
os_toascii
[
256
]
=
{
/*00*/
0x00
,
0x01
,
0x02
,
0x03
,
0x85
,
0x09
,
0x86
,
0x7f
,
0x87
,
0x8d
,
0x8e
,
0x0b
,
0x0c
,
0x0d
,
0x0e
,
0x0f
,
/*................*/
/*10*/
0x10
,
0x11
,
0x12
,
0x13
,
0x8f
,
0x0a
,
0x08
,
0x97
,
0x18
,
0x19
,
0x9c
,
0x9d
,
0x1c
,
0x1d
,
0x1e
,
0x1f
,
/*................*/
/*20*/
0x80
,
0x81
,
0x82
,
0x83
,
0x84
,
0x92
,
0x17
,
0x1b
,
0x88
,
0x89
,
0x8a
,
0x8b
,
0x8c
,
0x05
,
0x06
,
0x07
,
/*................*/
/*30*/
0x90
,
0x91
,
0x16
,
0x93
,
0x94
,
0x95
,
0x96
,
0x04
,
0x98
,
0x99
,
0x9a
,
0x9b
,
0x14
,
0x15
,
0x9e
,
0x1a
,
/*................*/
/*40*/
0x20
,
0xa0
,
0xe2
,
0xe4
,
0xe0
,
0xe1
,
0xe3
,
0xe5
,
0xe7
,
0xf1
,
0x60
,
0x2e
,
0x3c
,
0x28
,
0x2b
,
0x7c
,
/* .........`.<(+|*/
/*50*/
0x26
,
0xe9
,
0xea
,
0xeb
,
0xe8
,
0xed
,
0xee
,
0xef
,
0xec
,
0xdf
,
0x21
,
0x24
,
0x2a
,
0x29
,
0x3b
,
0x9f
,
/*&.........!$*);.*/
/*60*/
0x2d
,
0x2f
,
0xc2
,
0xc4
,
0xc0
,
0xc1
,
0xc3
,
0xc5
,
0xc7
,
0xd1
,
0x5e
,
0x2c
,
0x25
,
0x5f
,
0x3e
,
0x3f
,
/*-/........^,%_>?*/
/*70*/
0xf8
,
0xc9
,
0xca
,
0xcb
,
0xc8
,
0xcd
,
0xce
,
0xcf
,
0xcc
,
0xa8
,
0x3a
,
0x23
,
0x40
,
0x27
,
0x3d
,
0x22
,
/*..........:#@'="*/
/*80*/
0xd8
,
0x61
,
0x62
,
0x63
,
0x64
,
0x65
,
0x66
,
0x67
,
0x68
,
0x69
,
0xab
,
0xbb
,
0xf0
,
0xfd
,
0xfe
,
0xb1
,
/*.abcdefghi......*/
/*90*/
0xb0
,
0x6a
,
0x6b
,
0x6c
,
0x6d
,
0x6e
,
0x6f
,
0x70
,
0x71
,
0x72
,
0xaa
,
0xba
,
0xe6
,
0xb8
,
0xc6
,
0xa4
,
/*.jklmnopqr......*/
/*a0*/
0xb5
,
0xaf
,
0x73
,
0x74
,
0x75
,
0x76
,
0x77
,
0x78
,
0x79
,
0x7a
,
0xa1
,
0xbf
,
0xd0
,
0xdd
,
0xde
,
0xae
,
/*..stuvwxyz......*/
/*b0*/
0xa2
,
0xa3
,
0xa5
,
0xb7
,
0xa9
,
0xa7
,
0xb6
,
0xbc
,
0xbd
,
0xbe
,
0xac
,
0x5b
,
0x5c
,
0x5d
,
0xb4
,
0xd7
,
/*...........[\]..*/
/*c0*/
0xf9
,
0x41
,
0x42
,
0x43
,
0x44
,
0x45
,
0x46
,
0x47
,
0x48
,
0x49
,
0xad
,
0xf4
,
0xf6
,
0xf2
,
0xf3
,
0xf5
,
/*.ABCDEFGHI......*/
/*d0*/
0xa6
,
0x4a
,
0x4b
,
0x4c
,
0x4d
,
0x4e
,
0x4f
,
0x50
,
0x51
,
0x52
,
0xb9
,
0xfb
,
0xfc
,
0xdb
,
0xfa
,
0xff
,
/*.JKLMNOPQR......*/
/*e0*/
0xd9
,
0xf7
,
0x53
,
0x54
,
0x55
,
0x56
,
0x57
,
0x58
,
0x59
,
0x5a
,
0xb2
,
0xd4
,
0xd6
,
0xd2
,
0xd3
,
0xd5
,
/*..STUVWXYZ......*/
/*f0*/
0x30
,
0x31
,
0x32
,
0x33
,
0x34
,
0x35
,
0x36
,
0x37
,
0x38
,
0x39
,
0xb3
,
0x7b
,
0xdc
,
0x7d
,
0xda
,
0x7e
/*0123456789.{.}.~*/
};
/* The ascii-to-ebcdic table: */
const
unsigned
char
os_toebcdic
[
256
]
=
{
/*00*/
0x00
,
0x01
,
0x02
,
0x03
,
0x37
,
0x2d
,
0x2e
,
0x2f
,
0x16
,
0x05
,
0x15
,
0x0b
,
0x0c
,
0x0d
,
0x0e
,
0x0f
,
/*................*/
/*10*/
0x10
,
0x11
,
0x12
,
0x13
,
0x3c
,
0x3d
,
0x32
,
0x26
,
0x18
,
0x19
,
0x3f
,
0x27
,
0x1c
,
0x1d
,
0x1e
,
0x1f
,
/*................*/
/*20*/
0x40
,
0x5a
,
0x7f
,
0x7b
,
0x5b
,
0x6c
,
0x50
,
0x7d
,
0x4d
,
0x5d
,
0x5c
,
0x4e
,
0x6b
,
0x60
,
0x4b
,
0x61
,
/* !"#$%&'()*+,-./ */
/*30*/
0xf0
,
0xf1
,
0xf2
,
0xf3
,
0xf4
,
0xf5
,
0xf6
,
0xf7
,
0xf8
,
0xf9
,
0x7a
,
0x5e
,
0x4c
,
0x7e
,
0x6e
,
0x6f
,
/*0123456789:;<=>?*/
/*40*/
0x7c
,
0xc1
,
0xc2
,
0xc3
,
0xc4
,
0xc5
,
0xc6
,
0xc7
,
0xc8
,
0xc9
,
0xd1
,
0xd2
,
0xd3
,
0xd4
,
0xd5
,
0xd6
,
/*@ABCDEFGHIJKLMNO*/
/*50*/
0xd7
,
0xd8
,
0xd9
,
0xe2
,
0xe3
,
0xe4
,
0xe5
,
0xe6
,
0xe7
,
0xe8
,
0xe9
,
0xbb
,
0xbc
,
0xbd
,
0x6a
,
0x6d
,
/*PQRSTUVWXYZ[\]^_*/
/*60*/
0x4a
,
0x81
,
0x82
,
0x83
,
0x84
,
0x85
,
0x86
,
0x87
,
0x88
,
0x89
,
0x91
,
0x92
,
0x93
,
0x94
,
0x95
,
0x96
,
/*`abcdefghijklmno*/
/*70*/
0x97
,
0x98
,
0x99
,
0xa2
,
0xa3
,
0xa4
,
0xa5
,
0xa6
,
0xa7
,
0xa8
,
0xa9
,
0xfb
,
0x4f
,
0xfd
,
0xff
,
0x07
,
/*pqrstuvwxyz{|}~.*/
/*80*/
0x20
,
0x21
,
0x22
,
0x23
,
0x24
,
0x04
,
0x06
,
0x08
,
0x28
,
0x29
,
0x2a
,
0x2b
,
0x2c
,
0x09
,
0x0a
,
0x14
,
/*................*/
/*90*/
0x30
,
0x31
,
0x25
,
0x33
,
0x34
,
0x35
,
0x36
,
0x17
,
0x38
,
0x39
,
0x3a
,
0x3b
,
0x1a
,
0x1b
,
0x3e
,
0x5f
,
/*................*/
/*a0*/
0x41
,
0xaa
,
0xb0
,
0xb1
,
0x9f
,
0xb2
,
0xd0
,
0xb5
,
0x79
,
0xb4
,
0x9a
,
0x8a
,
0xba
,
0xca
,
0xaf
,
0xa1
,
/*................*/
/*b0*/
0x90
,
0x8f
,
0xea
,
0xfa
,
0xbe
,
0xa0
,
0xb6
,
0xb3
,
0x9d
,
0xda
,
0x9b
,
0x8b
,
0xb7
,
0xb8
,
0xb9
,
0xab
,
/*................*/
/*c0*/
0x64
,
0x65
,
0x62
,
0x66
,
0x63
,
0x67
,
0x9e
,
0x68
,
0x74
,
0x71
,
0x72
,
0x73
,
0x78
,
0x75
,
0x76
,
0x77
,
/*................*/
/*d0*/
0xac
,
0x69
,
0xed
,
0xee
,
0xeb
,
0xef
,
0xec
,
0xbf
,
0x80
,
0xe0
,
0xfe
,
0xdd
,
0xfc
,
0xad
,
0xae
,
0x59
,
/*................*/
/*e0*/
0x44
,
0x45
,
0x42
,
0x46
,
0x43
,
0x47
,
0x9c
,
0x48
,
0x54
,
0x51
,
0x52
,
0x53
,
0x58
,
0x55
,
0x56
,
0x57
,
/*................*/
/*f0*/
0x8c
,
0x49
,
0xcd
,
0xce
,
0xcb
,
0xcf
,
0xcc
,
0xe1
,
0x70
,
0xc0
,
0xde
,
0xdb
,
0xdc
,
0x8d
,
0x8e
,
0xdf
/*................*/
};
#else
/*_OSD_POSIX*/
/*
This code does basic character mapping for IBM's TPF and OS/390 operating systems.
It is a modified version of the BS2000 table.
Bijective EBCDIC (character set IBM-1047) to US-ASCII table:
This table is bijective - there are no ambigous or duplicate characters.
*/
const
unsigned
char
os_toascii
[
256
]
=
{
0x00
,
0x01
,
0x02
,
0x03
,
0x85
,
0x09
,
0x86
,
0x7f
,
/* 00-0f: */
0x87
,
0x8d
,
0x8e
,
0x0b
,
0x0c
,
0x0d
,
0x0e
,
0x0f
,
/* ................ */
0x10
,
0x11
,
0x12
,
0x13
,
0x8f
,
0x0a
,
0x08
,
0x97
,
/* 10-1f: */
0x18
,
0x19
,
0x9c
,
0x9d
,
0x1c
,
0x1d
,
0x1e
,
0x1f
,
/* ................ */
0x80
,
0x81
,
0x82
,
0x83
,
0x84
,
0x92
,
0x17
,
0x1b
,
/* 20-2f: */
0x88
,
0x89
,
0x8a
,
0x8b
,
0x8c
,
0x05
,
0x06
,
0x07
,
/* ................ */
0x90
,
0x91
,
0x16
,
0x93
,
0x94
,
0x95
,
0x96
,
0x04
,
/* 30-3f: */
0x98
,
0x99
,
0x9a
,
0x9b
,
0x14
,
0x15
,
0x9e
,
0x1a
,
/* ................ */
0x20
,
0xa0
,
0xe2
,
0xe4
,
0xe0
,
0xe1
,
0xe3
,
0xe5
,
/* 40-4f: */
0xe7
,
0xf1
,
0xa2
,
0x2e
,
0x3c
,
0x28
,
0x2b
,
0x7c
,
/* ...........<(+| */
0x26
,
0xe9
,
0xea
,
0xeb
,
0xe8
,
0xed
,
0xee
,
0xef
,
/* 50-5f: */
0xec
,
0xdf
,
0x21
,
0x24
,
0x2a
,
0x29
,
0x3b
,
0x5e
,
/* &.........!$*);^ */
0x2d
,
0x2f
,
0xc2
,
0xc4
,
0xc0
,
0xc1
,
0xc3
,
0xc5
,
/* 60-6f: */
0xc7
,
0xd1
,
0xa6
,
0x2c
,
0x25
,
0x5f
,
0x3e
,
0x3f
,
/* -/.........,%_>? */
0xf8
,
0xc9
,
0xca
,
0xcb
,
0xc8
,
0xcd
,
0xce
,
0xcf
,
/* 70-7f: */
0xcc
,
0x60
,
0x3a
,
0x23
,
0x40
,
0x27
,
0x3d
,
0x22
,
/* .........`:#@'=" */
0xd8
,
0x61
,
0x62
,
0x63
,
0x64
,
0x65
,
0x66
,
0x67
,
/* 80-8f: */
0x68
,
0x69
,
0xab
,
0xbb
,
0xf0
,
0xfd
,
0xfe
,
0xb1
,
/* .abcdefghi...... */
0xb0
,
0x6a
,
0x6b
,
0x6c
,
0x6d
,
0x6e
,
0x6f
,
0x70
,
/* 90-9f: */
0x71
,
0x72
,
0xaa
,
0xba
,
0xe6
,
0xb8
,
0xc6
,
0xa4
,
/* .jklmnopqr...... */
0xb5
,
0x7e
,
0x73
,
0x74
,
0x75
,
0x76
,
0x77
,
0x78
,
/* a0-af: */
0x79
,
0x7a
,
0xa1
,
0xbf
,
0xd0
,
0x5b
,
0xde
,
0xae
,
/* .~stuvwxyz...[.. */
0xac
,
0xa3
,
0xa5
,
0xb7
,
0xa9
,
0xa7
,
0xb6
,
0xbc
,
/* b0-bf: */
0xbd
,
0xbe
,
0xdd
,
0xa8
,
0xaf
,
0x5d
,
0xb4
,
0xd7
,
/* .............].. */
0x7b
,
0x41
,
0x42
,
0x43
,
0x44
,
0x45
,
0x46
,
0x47
,
/* c0-cf: */
0x48
,
0x49
,
0xad
,
0xf4
,
0xf6
,
0xf2
,
0xf3
,
0xf5
,
/* {ABCDEFGHI...... */
0x7d
,
0x4a
,
0x4b
,
0x4c
,
0x4d
,
0x4e
,
0x4f
,
0x50
,
/* d0-df: */
0x51
,
0x52
,
0xb9
,
0xfb
,
0xfc
,
0xf9
,
0xfa
,
0xff
,
/* }JKLMNOPQR...... */
0x5c
,
0xf7
,
0x53
,
0x54
,
0x55
,
0x56
,
0x57
,
0x58
,
/* e0-ef: */
0x59
,
0x5a
,
0xb2
,
0xd4
,
0xd6
,
0xd2
,
0xd3
,
0xd5
,
/* \.STUVWXYZ...... */
0x30
,
0x31
,
0x32
,
0x33
,
0x34
,
0x35
,
0x36
,
0x37
,
/* f0-ff: */
0x38
,
0x39
,
0xb3
,
0xdb
,
0xdc
,
0xd9
,
0xda
,
0x9f
/* 0123456789...... */
};
/*
The US-ASCII to EBCDIC (character set IBM-1047) table:
This table is bijective (no ambiguous or duplicate characters)
*/
const
unsigned
char
os_toebcdic
[
256
]
=
{
0x00
,
0x01
,
0x02
,
0x03
,
0x37
,
0x2d
,
0x2e
,
0x2f
,
/* 00-0f: */
0x16
,
0x05
,
0x15
,
0x0b
,
0x0c
,
0x0d
,
0x0e
,
0x0f
,
/* ................ */
0x10
,
0x11
,
0x12
,
0x13
,
0x3c
,
0x3d
,
0x32
,
0x26
,
/* 10-1f: */
0x18
,
0x19
,
0x3f
,
0x27
,
0x1c
,
0x1d
,
0x1e
,
0x1f
,
/* ................ */
0x40
,
0x5a
,
0x7f
,
0x7b
,
0x5b
,
0x6c
,
0x50
,
0x7d
,
/* 20-2f: */
0x4d
,
0x5d
,
0x5c
,
0x4e
,
0x6b
,
0x60
,
0x4b
,
0x61
,
/* !"#$%&'()*+,-./ */
0xf0
,
0xf1
,
0xf2
,
0xf3
,
0xf4
,
0xf5
,
0xf6
,
0xf7
,
/* 30-3f: */
0xf8
,
0xf9
,
0x7a
,
0x5e
,
0x4c
,
0x7e
,
0x6e
,
0x6f
,
/* 0123456789:;<=>? */
0x7c
,
0xc1
,
0xc2
,
0xc3
,
0xc4
,
0xc5
,
0xc6
,
0xc7
,
/* 40-4f: */
0xc8
,
0xc9
,
0xd1
,
0xd2
,
0xd3
,
0xd4
,
0xd5
,
0xd6
,
/* @ABCDEFGHIJKLMNO */
0xd7
,
0xd8
,
0xd9
,
0xe2
,
0xe3
,
0xe4
,
0xe5
,
0xe6
,
/* 50-5f: */
0xe7
,
0xe8
,
0xe9
,
0xad
,
0xe0
,
0xbd
,
0x5f
,
0x6d
,
/* PQRSTUVWXYZ[\]^_ */
0x79
,
0x81
,
0x82
,
0x83
,
0x84
,
0x85
,
0x86
,
0x87
,
/* 60-6f: */
0x88
,
0x89
,
0x91
,
0x92
,
0x93
,
0x94
,
0x95
,
0x96
,
/* `abcdefghijklmno */
0x97
,
0x98
,
0x99
,
0xa2
,
0xa3
,
0xa4
,
0xa5
,
0xa6
,
/* 70-7f: */
0xa7
,
0xa8
,
0xa9
,
0xc0
,
0x4f
,
0xd0
,
0xa1
,
0x07
,
/* pqrstuvwxyz{|}~. */
0x20
,
0x21
,
0x22
,
0x23
,
0x24
,
0x04
,
0x06
,
0x08
,
/* 80-8f: */
0x28
,
0x29
,
0x2a
,
0x2b
,
0x2c
,
0x09
,
0x0a
,
0x14
,
/* ................ */
0x30
,
0x31
,
0x25
,
0x33
,
0x34
,
0x35
,
0x36
,
0x17
,
/* 90-9f: */
0x38
,
0x39
,
0x3a
,
0x3b
,
0x1a
,
0x1b
,
0x3e
,
0xff
,
/* ................ */
0x41
,
0xaa
,
0x4a
,
0xb1
,
0x9f
,
0xb2
,
0x6a
,
0xb5
,
/* a0-af: */
0xbb
,
0xb4
,
0x9a
,
0x8a
,
0xb0
,
0xca
,
0xaf
,
0xbc
,
/* ................ */
0x90
,
0x8f
,
0xea
,
0xfa
,
0xbe
,
0xa0
,
0xb6
,
0xb3
,
/* b0-bf: */
0x9d
,
0xda
,
0x9b
,
0x8b
,
0xb7
,
0xb8
,
0xb9
,
0xab
,
/* ................ */
0x64
,
0x65
,
0x62
,
0x66
,
0x63
,
0x67
,
0x9e
,
0x68
,
/* c0-cf: */
0x74
,
0x71
,
0x72
,
0x73
,
0x78
,
0x75
,
0x76
,
0x77
,
/* ................ */
0xac
,
0x69
,
0xed
,
0xee
,
0xeb
,
0xef
,
0xec
,
0xbf
,
/* d0-df: */
0x80
,
0xfd
,
0xfe
,
0xfb
,
0xfc
,
0xba
,
0xae
,
0x59
,
/* ................ */
0x44
,
0x45
,
0x42
,
0x46
,
0x43
,
0x47
,
0x9c
,
0x48
,
/* e0-ef: */
0x54
,
0x51
,
0x52
,
0x53
,
0x58
,
0x55
,
0x56
,
0x57
,
/* ................ */
0x8c
,
0x49
,
0xcd
,
0xce
,
0xcb
,
0xcf
,
0xcc
,
0xe1
,
/* f0-ff: */
0x70
,
0xdd
,
0xde
,
0xdb
,
0xdc
,
0x8d
,
0x8e
,
0xdf
/* ................ */
};
#endif
/*_OSD_POSIX*/
/* Translate a memory block from EBCDIC (host charset) to ASCII (net charset)
* dest and srce may be identical, or separate memory blocks, but
* should not overlap. These functions intentionally have an interface
* compatible to memcpy(3).
*/
void
*
ebcdic2ascii
(
void
*
dest
,
const
void
*
srce
,
size_t
count
)
{
unsigned
char
*
udest
=
dest
;
const
unsigned
char
*
usrce
=
srce
;
while
(
count
--
!=
0
)
{
*
udest
++
=
os_toascii
[
*
usrce
++
];
}
return
dest
;
}
void
*
ascii2ebcdic
(
void
*
dest
,
const
void
*
srce
,
size_t
count
)
{
unsigned
char
*
udest
=
dest
;
const
unsigned
char
*
usrce
=
srce
;
while
(
count
--
!=
0
)
{
*
udest
++
=
os_toebcdic
[
*
usrce
++
];
}
return
dest
;
}
#endif
/*CHARSET_EBCDIC*/
crypto/ebcdic.h
浏览文件 @
8efb6014
/* crypto/ebcdic.h */
#ifndef HEADER_EBCDIC_H
#define HEADER_EBCDIC_H
#include <sys/types.h>
/* Avoid name clashes with other applications */
#define os_toascii _
eay2000
_os_toascii
#define os_toebcdic _
eay2000
_os_toebcdic
#define ebcdic2ascii _
eay2000
_ebcdic2ascii
#define ascii2ebcdic _
eay2000
_ascii2ebcdic
#define os_toascii _
openssl
_os_toascii
#define os_toebcdic _
openssl
_os_toebcdic
#define ebcdic2ascii _
openssl
_ebcdic2ascii
#define ascii2ebcdic _
openssl
_ascii2ebcdic
extern
const
unsigned
char
os_toascii
[
256
];
extern
const
unsigned
char
os_toebcdic
[
256
];
void
ebcdic2ascii
(
unsigned
char
*
dest
,
const
unsigned
char
*
srce
,
size_t
count
);
void
ascii2ebcdic
(
unsigned
char
*
dest
,
const
unsigned
char
*
srce
,
size_t
count
);
void
*
ebcdic2ascii
(
void
*
dest
,
const
void
*
srce
,
size_t
count
);
void
*
ascii2ebcdic
(
void
*
dest
,
const
void
*
srce
,
size_t
count
);
#endif
crypto/x509v3/v3_ia5.c
浏览文件 @
8efb6014
...
...
@@ -102,6 +102,9 @@ static ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
M_ASN1_IA5STRING_free
(
ia5
);
goto
err
;
}
#ifdef CHARSET_EBCDIC
ebcdic2ascii
(
ia5
->
data
,
ia5
->
data
,
ia5
->
length
);
#endif
/*CHARSET_EBCDIC*/
return
ia5
;
err:
X509V3err
(
X509V3_F_S2I_ASN1_IA5STRING
,
ERR_R_MALLOC_FAILURE
);
...
...
crypto/x509v3/v3_prn.c
浏览文件 @
8efb6014
...
...
@@ -81,7 +81,15 @@ void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, int ml)
nval
=
sk_CONF_VALUE_value
(
val
,
i
);
if
(
!
nval
->
name
)
BIO_puts
(
out
,
nval
->
value
);
else
if
(
!
nval
->
value
)
BIO_puts
(
out
,
nval
->
name
);
#ifndef CHARSET_EBCDIC
else
BIO_printf
(
out
,
"%s:%s"
,
nval
->
name
,
nval
->
value
);
#else
else
{
char
tmp
[
10240
];
/* 10k is BIO_printf's limit anyway */
ascii2ebcdic
(
tmp
,
nval
->
value
,
strlen
(
nval
->
value
)
+
1
);
BIO_printf
(
out
,
"%s:%s"
,
nval
->
name
,
tmp
);
}
#endif
if
(
ml
)
BIO_puts
(
out
,
"
\n
"
);
}
}
...
...
@@ -103,7 +111,15 @@ int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, int flag, int indent)
ok
=
0
;
goto
err
;
}
#ifndef CHARSET_EBCDIC
BIO_printf
(
out
,
"%*s%s"
,
indent
,
""
,
value
);
#else
{
char
tmp
[
10240
];
/* 10k is BIO_printf's limit anyway */
ascii2ebcdic
(
tmp
,
value
,
strlen
(
value
)
+
1
);
BIO_printf
(
out
,
"%*s%s"
,
indent
,
""
,
tmp
);
}
#endif
}
else
if
(
method
->
i2v
)
{
if
(
!
(
nval
=
method
->
i2v
(
method
,
ext_str
,
NULL
)))
{
ok
=
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录