openssl 不验证证书有效期_OpenSSL 常用函数——证书操作

X。509规范,主要同以下信息组成:版本号、证书序列号、有效期、拥有者信息、颁发者信息、其他扩展信息、拥有者的公钥、CA对以上信息的签名。

OpenSSL实现了对X。509数字证书的所有操作。包括签发数字证书、解析和验证证书等。

涉及证书操作的主要函数有验证证书(验证证书链、有效期、CRL)、解析证书(获得证书的版本、序列号、颁发者信息、主题信息、公钥、有效期等)。

主要函数

1、DER编码转换为内部结构函数

X509 *d2i_X509(X509 **cert, unsigned char **d, int len);

函数功能:把一个DER编码的证书数据转化成OpenSSL内部结构体。

参数:cert:[OUT]X509结构体。D:[IN]DER编码的证书数据指针地址。Len[IN]证书数据长度;

返回值:编码后的X509结构体数据

2、获得证书版本函数X509_get_version

#define X509_get_version(x)ASN1_INTEGER_get((x)->cert_info->version)

参数:x:[IN]X509*结构体数据结构。

返回值:证书版本,数据类型“LONG”

3、获得证书序列号函数

ASN1_INTEGER *X509_get_serialNumber(X509 *x);

返回值:证书序列号,数据类型“ASN1_INTEGER”.

4、获得证书颁发者信息函数

X509_NAME *X509_get_issuer_name(X509 *a);

注*:X509_NAME结构体包括多个X509_NAME_ENTRY结构体。X509_NAME_ENTRY保存了颁发者的信息,这些信息包括对象和值(object和value)。对象的类型包括国家、通用名、单位、组织、地区、邮件等。

5、获得证书拥有者信息函数

X509_NAME *X509_get_subject_name(X509 *a);

6、获得证书有效期的起始日期函数

#define X509_get_notBefore(x)((x)->cert_info->validity->notBefore)

返回值:证书起始有效期,数据类型“ASN1_TIME”

7、获得证书有效期的终止日期函数

#define X509_get_notAfter(x)((x)->cert_info->validity->notAfter)

8、获得证书公钥函数

EVP_PKEY *X509_get_pubkey(X509 *x);

9、创建和释放证书存储区

X509_STORE *X509_STORE_new(void);

Void X509_STORE_free(X509_STORE *v);

函数功能:创建和释放一个X509_STORE结构体,主要用于验证证书。

10、向证书存储区添加证书

Int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);

函数功能:添加信任的根证书到证书存储区。

返回值:1成功,否则为0

11、向证书存储区添加证书吊销列表

Int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);

功能:添加CRL到证书存储区。

参数:x:[IN]证书吊销列表。Ctx:[IN]证书存储区。

返回值:1成功,否则为0。

12、创建证书存储区上下文环境函数

X509_STORE_CTX *X509_STORE_CTX_new(void);

返回值:操作成功返回证书存储区上下文环境指针,否则返回NULL。

13、释放证书存储区上下文环境

Void X509_STORE_CTX_free(X509_STORE_CTX *ctx);

14、初始化证书存储区上下文环境函数

Int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain);

函数功能:初始化证书存储区上下文环境,设置根证书、待验证的证书、CA证书链。

15、验证证书函数

Int X509_verify_cert(X509_STORE_CTX *ctx);

返回值:验证成功返回1,否则返回0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenSSL是一个开源的加密工具包,可以用于验证私钥证书。 在命令行中,使用openssl s_server -msg -verify命令可以执行验证私钥证书操作。 -msg参数可以指定在连接中发送和接收的消息。 -verify参数用于启用验证模式。 在执行该命令时,OpenSSL会作为服务器运行,等待客户端连接。然后,OpenSSL会将所收到的消息打印出来。在验证模式下,OpenSSL会尝试验证客户端发送的证书。 在验证过程中,OpenSSL会使用传入的私钥和证书进行验证。私钥用于解密证书中的数字签名,并与证书中的公钥进行比对,以验证证书的真实性和完整性。 如果验证成功,OpenSSL会打印出相关验证信息。如果验证失败,OpenSSL会显示相应的错误信息,指示证书存在问题或不是一个有效的证书。 通过使用openssl s_server -msg -verify命令,我们可以方便地验证私钥证书,以确保其有效性和安全性。 需要注意的是,验证私钥证书需要在合适的环境中进行,并且应该使用正确的私钥和证书进行验证,以确保验证的准确性和可靠性。 ### 回答2: openssl s_server -msg -verify是一条命令,用于在openssl中进行私钥证书验证。 首先,我们需要了解openssl中私钥和证书的概念。私钥是一种用于加密和解密数据的密钥,它通常由证书颁发机构(CA)生成并颁发给特定的实体。而证书是由CA签名的包含实体公钥和其他相关信息的文件,它用于验证实体的身份。 使用openssl s_server -msg -verify命令时,我们可以在服务器模式下进行私钥证书验证。这个命令会打开一个服务器,并监听指定的端口,等待客户端连接。当客户端连接之后,服务器会使用私钥和证书对收到的数据进行验证。 私钥证书验证的过程如下: 1.服务器使用私钥解密收到的数据。 2.服务器使用证书验证解密后的数据的完整性和真实性。通过计算数据的散列值以及使用证书中的公钥验证该散列值,服务器可以确定数据是否被篡改过。 3.如果数据通过了验证,服务器会对数据进行响应。 使用openssl s_server -msg -verify命令可以方便地进行私钥证书验证,同时可以通过命令行参数调整验证的具体设置。这对于建立安全的网络连接和验证实体身份非常有用。 需要注意的是,私钥和证书的安全性非常重要。私钥应该保密且仅由合法的实体使用,证书应该由可信的CA签发。同时,定期更新证书和私钥也是很重要的安全措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值