问题:

        tls连接时握手失败。

错误信息:

3065951328:error:100EB0B5:elliptic curve routines:EC_POINT_set_affine_coordinates_GFp:point is not on curve:crypto/ec/ec_lib.c:707:
3065951328:error:100C8010:elliptic curve routines:ec_group_new_from_data:EC lib:crypto/ec/ec_curve.c:3221:
3065951328:error:100C70BE:elliptic curve routines:EC_GROUP_new_by_curve_name:unknown group:crypto/ec/ec_curve.c:3271:
3065951328:error:10101087:elliptic curve routines:pkey_ec_ctrl:invalid curve:crypto/ec/ec_pmeth.c:382:
3065951328:error:14179006:SSL routines:tls_construct_server_key_exchange:EVP lib:ssl/statem/statem_srvr.c:1830:

原因:

        由于在交叉编译Gmssl时架构设置错误,在arm32上无法正确运行。

解决:

        重新编译Gmssl库,执行 setarch --list 命令,查看支持的架构,linux32和i386可以在arm上运行。

sudo setarch i386 ./config no-asm --cross-compile-prefix=/root/arm-linux-gnueabi/bin/arm-linux-gnueabi- --prefix=/home/work//Gmssl

make

make install

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐