1. 程式人生 > >ARM平臺移植 openssl-1.1.1

ARM平臺移植 openssl-1.1.1

openssl   新版本 config 變化較大

openssl-OpenSSL_1_1_1-stable.zip

./config no-asm shared --prefix=/home/H1Ne shared

no-asm  在交叉編譯過程中不使用匯編程式碼程式碼加速編譯過程

shared  生成動態連結庫

配置完成後修改Makefile檔案,CC=和--host=無效

修改Makeffile

#PLATFORM=linux-x86

PLATFORM=linux-armv4

#CROSS_COMPILE=

CROSS_COMPILE=/home/H1Ne/bin/arm-linux-

刪除 所以 -m32 -m64

make

make install

編譯test例項

  1. #include <stdio.h>

  2. #include <openssl/sha.h>

  3. int main ()

  4. {

  5. SHA_CTX s;

  6. int i, size;

  7. char c[512];

  8. unsigned char hash[20];

  9. // 初始化 SHA Contex, 成功返回1,失敗返回0

  10. SHA1_Init(&s);

  11. // 迴圈呼叫此函式,可以將不同的資料加在一起計算SHA1,成功返回1,失敗返回0

  12. while ((size=read (0, c, 512)) > 0)

  13. SHA1_Update(&s, c, size);

  14. // 輸出SHA1結果資料,成功返回1,失敗返回0

  15. SHA1_Final(hash, &s);

  16. for (i=0; i < 20; i++)

  17. printf ("%.2x", (int)hash[i]);

  18. printf ("\n");

  19. }

/home/H1Ne/bin/arm-linux-gcc   sha1_test.c   -lssl -lcrypto -ldl -o sha1_test.out

編譯通過,在當前目錄生成sha1_test.out可執行檔案

將sha1_test.out拷貝到ARM裝置上

執行./sha1_test.out < sha1_test.out

輸出:78b32a7882a5ffea5d48b2f2b6bea633fa78e0e1

移植成功。