openssl 测试加密卡_[原]替换OpenSSL Engine为硬件加密卡之替换EVP_CIPHER结构

本文详细介绍了如何将OpenSSL Engine替换为硬件加密卡,特别是替换EVP_CIPHER结构的过程。在加密过程中,遇到的问题包括Update调用方式、ctx_size的理解、padding处理以及编译优化。通过解决这些问题,成功实现了硬件加密卡的集成,并确保了加密和解密的一致性。
摘要由CSDN通过智能技术生成

定义:

static const EVP_CIPHER FMC_ENG_evp_cipher=

{

NID_aes_128_cbc,                /*nid*/

16,                                /*block_size*/

16,                                /*key_len*/

16,                                /*iv_len*/

EVP_CIPH_CBC_MODE,                /*Various flags*/

FMC_ENG_evp_cipher_init,        /*init*/

FMC_ENG_evp_cipher_do_cipher,    /*do_cipher*/

FMC_ENG_evp_cipher_cleanup,        /*cleanup*/

sizeof(AES_KEY) + 16,            /*ctx_size*/

NULL,                            /*set_asn1_parameters*/

NULL,                            /*get_asn1_parameters*/

NULL,                            /*Miscellaneous operations*/

NULL                            /*app_data*/

};

首先解释:

NID_aes_128_cbc 为算法NID, 在bind engine时, 有调用:

ret = ENGINE_set_ciphers(e, FMC_EN

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值