基于Openssl的文件校验

        在系统软件中有系统升级功能,方便软件的版本迭代,而在系统升级前需要校验升级的Image是否是可信的,以及信息是否被篡改过。

      升级包由以下部分组成 数字证书 + 升级文件的文件摘要 + 使用密钥加密升级文件摘要得到的数字签名 + 升级文件

     验证过程大体如下图

       下面简述基于开源库Openssl的验证过程,在系统中会有一个预先存好的根证书,当新的软件包接入的时候,首先会使用根证书来校验软件包中的证书是否是正确的,包含下面这些细节;

          1.校验软件包中的证书的签发者和用途是否合规;

2.校验软件包中的证书有效期时间是否在有效期内(所以对系统时间有依赖);

3.使用根证书中的密钥解密软件包证书中的数字签名,并与软件包中证书的摘要进行对比;

4.其他验证步骤;

    经过以上几上步骤的验证可以得到软件包中的证书是可信的,那么接下来就可以使用软件包中的证书里携带的密钥了。Openssl中提供用于证书验证接口。

下面代码可以将证书从文件中读取,并转换为X50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值