c++使用openssl库为一个软件进行数字签名的问题

就是创建试用版,我用哪个API??使用RSA、EVP、PKCS12、X509等哪一系列较好?我是小白,对加密刚接触,我发现这几个系列的API都有签名和验签的函数,但不知道有什么区别??

一般使用RSA 和 ECC算法。
PKCS12 和 X509 是对他们的封装。
具体参考区别看:
http://blog.csdn.net/caomiao2006/article/details/23677565

或者是我的思路不正确,我现在有两个思路:一、使用EVP_DigestInit_ex,EVP_DigestUpdate,EVP_DigestFinal_ex函数进行摘要,使用RSA_private_encrypt进行加密,但使用公钥RSA_public_decrypt加密的时候有问题。
二、我在网上看到PKCS12系列函数写的关于数字签名的,我不知道这个适合软件试用不,它有对数据进行base64位编解码的操作,我使用第一种方法时没有对数据进行base64位编解码操作。