---
title: 安装
description: "本文提供RPM包安装KSL_ASN1的方法，请在安装后对KSL_ASN1进行验证。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/system-lib/kslans1/kunpengaccel_ksl_16_0006.html
sourcePath: /source/zh/kunpengaccel/system-lib/kslans1/kunpengaccel_ksl_16_0006.html
indexId: 5bb3b675f20f6607b934b5ff1e7143cf44ed6acd733fe1918138f4a02eb0e0cf72
---
# 安装

本文提供RPM包安装KSL_ASN1的方法，请在安装后对KSL_ASN1进行验证。

#### 安装步骤

1. 可选：为阻止缓冲区溢出攻击，建议在安装KSL前启用ASLR（Address Space Layout Randomization）。
  ASLR技术通过对堆、栈、共享库映射等线性区布局的随机化，增加攻击者预测目的地址的难度，防止攻击者直接定位攻击代码位置。该技术可作用于堆、栈、内存映射区（mmap基址、shared libraries、vdso页）。

```
echo 2 >/proc/sys/kernel/randomize_va_space
```


2. 按照获取软件包获取到KSL_ASN1软件包，解压后得到二进制RPM包。
3. 如果使用KSL_ASN1独立软件包，请执行以下命令：

```
rpm -ivh boostkit-hiasn1-
xxxx
.aarch64.rpm
```


  安装结束后，会自动在环境变量LD_LIBRARY_PATH中添加lib文件夹所在目录即“/usr/local/ksl/lib”。

  上述命令中涉及的xxxx代表版本号。


#### 安装后验证

1. 若当前终端中环境变量尚未生效，执行source命令或重新登录终端使环境变量生效。
  1 source /etc/profile

2. 查看环境变量LD_LIBRARY_PATH是否包含KSL_ASN1的安装路径“/usr/local/ksl/lib”。
  1 env | grep LD_LIBRARY_PATH

  回显结果包含安装路径，说明安装成功，如下所示。

  1 LD_LIBRARY_PATH=/usr/local/ksl/lib:

  安装成功后在安装路径（默认路径是“/usr/local/ksl”）下生成相应文件，其中，“include/hiasn1”文件夹包含KSL_ASN1的头文件，“lib”文件夹包含了动态库文件，“bin”文件夹包含了KSL_ASN1命令行编译工具。

3. 使用KSL_ASN1时，请在GCC编译选项中添加动态库所在路径，链接需要使用的动态库文件，编译选项为：-I /usr/local/ksl/include -L /usr/local/ksl/lib -lhiasn1。编译后用ldd命令检查程序依赖库是否准确链接。
  KSL_ASN1编译工具hiasn1cli，位于“/usr/local/ksl/bin”下。用户可以使用它来解析ASN.1脚本，并将ASN.1脚本转换为C语言代码的中间文件（包含多个源文件和头文件）。
