OpenSSL程序开发指南

来自SylixOS-wiki
(版本间的差异)
跳转至: 导航, 搜索
(以“[配置] 开源版 ARM 工具链配置: ./config --cross-compile-prefix=arm-none-eabi- no-asm shared --prefix=/lib/openssl 商业版 ARM 工具链配置: ./con...”为内容创建页面)
 
(修改 Makefile)
 
(未显示1个用户的24个中间版本)
第1行: 第1行:
[配置]
+
==下载 OpenSSL==
  
开源版 ARM 工具链配置:
+
:在 linux 或 MinGW 环境下操作。
./config --cross-compile-prefix=arm-none-eabi- no-asm shared --prefix=/lib/openssl
+
:*1. 进入 sylixos 工作空间:
 +
cd /home/user/sylixos_workspace
  
商业版 ARM 工具链配置:
+
:*2. 下载 OpenSSL:
./config --cross-compile-prefix=arm-sylixos-eabi- no-asm shared --prefix=/lib/openssl
+
:OpenSSL 的主页为 http://www.openssl.org/
  
[Makefile 更改]
+
:*3. 解压 OpenSSL:
 +
tar zxvf openssl-1.0.2a.tar.gz
  
1:  
+
:*4. 修改 OpenSSL 目录名,避免版本升级带来不必要的麻烦:
(编译好的 SylixOS 与 cextern 目录根据实际情况设置)
+
mv openssl-1.0.2a openssl
# SylixOS PATH
+
SYLIXOS_PATH=/home/user/OpenSSL/libsylixos
+
CEXTERN_PATH=/home/user/OpenSSL/libcextern
+
  
2:  
+
:*5. 进入 OpenSSL 目录:
# SylixOS includes
+
  cd openssl
INCDIR = $(SYLIXOS_PATH)/SylixOS
+
INCDIR += $(SYLIXOS_PATH)/SylixOS/include
+
INCDIR += $(SYLIXOS_PATH)/SylixOS/include/inet
+
SHLDIR  = $(SYLIXOS_PATH)/Debug
+
SHLDIR += $(CEXTERN_PATH)/Debug
+
  
# SylixOS compile and link options
+
==配置 OpenSSL==
SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums
+
SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc
+
  
3: CFLAG = $(SYLIXOS_CFLAGS) ......
+
'''开源版 ARM 工具链配置'''
  
4: "-DTERMIO" change to "-DTERMIOS"
+
./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-none-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl
  
5: PEX_LIBS = -shared
+
'''商业版 ARM 工具链配置'''
  EX_LIBS = $(SYLIXOS_EXLIBS)
+
  
[创建 SylixOS 环境]
+
./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-sylixos-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl
  
1:
+
'''商业版 PowerPC 工具链配置'''
在 /lib 中创建 openssl 文件夹, 然后将 make install 的结果拷贝到此处.
+
  
2:
+
./Configure linux-ppc --cross-compile-prefix=ppc-sylixos-eabi- no-asm shared --prefix=/opt/ppc-sylixos-openssl
创建好相应的符号链接
+
cd /lib/openssl/lib
+
ln -s libssl.so.1.0.0 libssl.so
+
ln -s libcrypto.so.1.0.0 libcrypto.so
+
  
3:
+
==修改 Makefile==
修改环境变量
+
$PATH=$PATH:/lib/openssl/bin
+
$LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/openssl/lib
+
varsave
+
  
4:
+
:*1. 加入如下内容,编译好的 SylixOS Base 工程路径根据实际情况设置:
运行
+
# SylixOS PATH
openssl
+
SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base
 +
 +
# SylixOS includes
 +
INCDIR  = $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS
 +
INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include
 +
INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet
 +
SHLDIR  = $(SYLIXOS_BASE_PATH)/libsylixos/Debug
 +
SHLDIR += $(SYLIXOS_BASE_PATH)/libcextern/Debug
 +
 +
# SylixOS compile and link options FOR ARM
 +
SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums
 +
SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc
 +
 +
# SylixOS compile and link options FOR PowerPC
 +
SYLIXOS_CFLAGS=-fPIC -DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -fmessage-length=0 -fno-short-enums
 +
SYLIXOS_EXLIBS=-fPIC -shared $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc
 +
 
 +
:*2. 修改 CFLAG:
 +
CFLAG = $(SYLIXOS_CFLAGS) 原有的定义,略
 +
 
 +
:*3. 修改 PEX_LIBS 和 EX_LIBS
 +
PEX_LIBS = -shared
 +
EX_LIBS = $(SYLIXOS_EXLIBS)
 +
 
 +
==编译 OpenSSL==
 +
 
 +
make
 +
 
 +
==安装 OpenSSL==
 +
 
 +
:'''安装 OpenSSL 需要在 root 用户下''',输入 su 切换到 root 用户:
 +
 
 +
su
 +
 
 +
:'''再修改环境变量 PATH,不然 make install 的结果会非常庞大(因为找不到 arm-none-eabi-strip)''':
 +
 
 +
export PATH=/usr/lib/gcc-arm-none-eabi/bin:$PATH
 +
 
 +
:输入如下命令以安装 OpenSSL:
 +
 
 +
make install
 +
 +
:会安装到配置时指定的目录 /opt/arm-sylixos-openssl 里。
 +
 
 +
==部署 OpenSSL==
 +
 
 +
:*1. 在 SylixOS 目标板的 /lib 目录中创建 openssl 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-openssl 目录)下载到 SylixOS 目标板的 /lib/openssl 目录。
 +
 
 +
:下面的命令在 SylixOS 目标板的终端执行:
 +
 
 +
:*2. 创建好相应的符号链接:
 +
cd /lib/openssl/lib
 +
ln -s libssl.so.1.0.0 libssl.so
 +
ln -s libcrypto.so.1.0.0 libcrypto.so
 +
 
 +
:*3. 修改环境变量:
 +
PATH=$PATH:/lib/openssl/bin
 +
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/openssl/lib
 +
varsave
 +
 
 +
==运行 OpenSSL==
 +
 
 +
openssl

2016年4月13日 (三) 13:25的最后版本

目录

[编辑] 下载 OpenSSL

在 linux 或 MinGW 环境下操作。
  • 1. 进入 sylixos 工作空间:
cd /home/user/sylixos_workspace
  • 2. 下载 OpenSSL:
OpenSSL 的主页为 http://www.openssl.org/
  • 3. 解压 OpenSSL:
tar zxvf openssl-1.0.2a.tar.gz
  • 4. 修改 OpenSSL 目录名,避免版本升级带来不必要的麻烦:
mv openssl-1.0.2a openssl
  • 5. 进入 OpenSSL 目录:
cd openssl

[编辑] 配置 OpenSSL

开源版 ARM 工具链配置

./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-none-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl

商业版 ARM 工具链配置

./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-sylixos-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl

商业版 PowerPC 工具链配置

./Configure linux-ppc --cross-compile-prefix=ppc-sylixos-eabi- no-asm shared --prefix=/opt/ppc-sylixos-openssl

[编辑] 修改 Makefile

  • 1. 加入如下内容,编译好的 SylixOS Base 工程路径根据实际情况设置:
# SylixOS PATH
SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base

# SylixOS includes
INCDIR  = $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS
INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include
INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet
SHLDIR  = $(SYLIXOS_BASE_PATH)/libsylixos/Debug
SHLDIR += $(SYLIXOS_BASE_PATH)/libcextern/Debug

# SylixOS compile and link options FOR ARM
SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums
SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc

# SylixOS compile and link options FOR PowerPC
SYLIXOS_CFLAGS=-fPIC -DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -fmessage-length=0 -fno-short-enums
SYLIXOS_EXLIBS=-fPIC -shared $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc
  • 2. 修改 CFLAG:
CFLAG = $(SYLIXOS_CFLAGS) 原有的定义,略
  • 3. 修改 PEX_LIBS 和 EX_LIBS
PEX_LIBS = -shared
EX_LIBS = $(SYLIXOS_EXLIBS)

[编辑] 编译 OpenSSL

make

[编辑] 安装 OpenSSL

安装 OpenSSL 需要在 root 用户下,输入 su 切换到 root 用户:
su
再修改环境变量 PATH,不然 make install 的结果会非常庞大(因为找不到 arm-none-eabi-strip)
export PATH=/usr/lib/gcc-arm-none-eabi/bin:$PATH
输入如下命令以安装 OpenSSL:
make install
会安装到配置时指定的目录 /opt/arm-sylixos-openssl 里。

[编辑] 部署 OpenSSL

  • 1. 在 SylixOS 目标板的 /lib 目录中创建 openssl 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-openssl 目录)下载到 SylixOS 目标板的 /lib/openssl 目录。
下面的命令在 SylixOS 目标板的终端执行:
  • 2. 创建好相应的符号链接:
cd /lib/openssl/lib
ln -s libssl.so.1.0.0 libssl.so
ln -s libcrypto.so.1.0.0 libcrypto.so
  • 3. 修改环境变量:
PATH=$PATH:/lib/openssl/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/openssl/lib
varsave

[编辑] 运行 OpenSSL

openssl
个人工具
名字空间

变种
操作
导航
工具