openssl-RSA签名和验签
openssl-私钥签名(SHA256withRSA)、公钥验签(SHA1withRSA) 一、来由-决定思路 1、近期调试的一个客户端,为了防止接口请求被劫持、 篡改, 需通过证书对请求数据进行签名操作, 来确保请求数据的完整性;要用私钥对数据进行RSA签名,用的SHA256withRSA, 然后使用 Base64 封装签名结果,将数据发送到服务器,服务器对数据进行验签。 2、针对服务器返回结果数据, 客户端需要进行验签操作来确保接收到的数据的完整性, 要用公钥验证签名,用的SHA1withRSA。 3、不论是计算签名还是进行数据验签,主要是看计算摘要的接口。 4、使用到的证书格式为pem格式的。 二、以下是核心代码 //私钥签名 SHA256withRSA /* * @param [in] filename 证书路径 * @param [in] src 待签名源数据 * @param [in] srclen 待签名源数据 * @param [out] sign 签名 * @param [out] signlen 签名长度 * @return - */ static int My_Rsa_PrikeySign ( char * filename , unsigned char * src , int srclen , unsigned char * sign , int *