27.3.4 CAPICOM对象——CertificateStatus对象

来源:互联网 发布:lua 5.3 windows 安装 编辑:程序博客网 时间:2024/05/22 14:27

CertificateStatus对象包括了数字证书的状态信息。应用程序不需要直接创建这个对象,一般从Certificate对象的IsValid方法返回。其主要的属性如表所示。

CertificateStatus对象的主要属性

数据类型

权限

意义

Result

Boolean

只读

有效性检查的结果

CheckFlag

CAPICOM_CHECK_FLAG

/

有效性检查的标志位

CAPICOM_CHECK_FLAG可选的值以及意义如表所示。

  CAPICOM_CHECK_FLAG对象的主要属性

意义

CAPICOM_CHECK_NONE

0

不检查

CAPICOM_CHECK_TRUSTED_ROOT

1

检查信任链

CAPICOM_CHECK_TIME_VALIDITY

2

检查证书的有效期

CAPICOM_CHECK_SIGNATURE_VALIDITY

4

检查签名

CAPICOM_CHECK_ONLINE_REVOCATION_STATUS

8

通过在线访问CRL(证书吊销列表)检查证书是否被吊销。

CAPICOM_CHECK_OFFLINE_REVOCATION_STATUS

16

通过离线访问CRL(证书吊销列表)检查证书是否被吊销。

该对象常用方法为获得证书用途方法KeyUsage

方法功能:获得证书用途属性信息,返回证书的KeyUsage对象。

[Visual Basic]

ObjectName.KeyUsage(

) as KeyUsage

返回值:KeyUsage对象数据类型。对其的介绍详见KeyUsage对象的介绍。

示例代码:

var oCert = new ActiveXObject("CAPICOM.Certificate");

         oCert.Import("MIIENDCCAxygAwIBAgIKYUo4nAACAAAAejANBgkqhkiG9w0BAQU… ");

         alert("证书序列号:"+ oCert .SerialNumber);

         var issuer=oCert.GetInfo(CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME);

         alert("证书颁发者:"+ issuer);

         var subject=oCert.GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME)

         alert("证书拥有者:"+ subject);

        

         if(oCert.HasPrivateKey())

         {

         alert("你拥有该证书的私钥");

         }

         else

         {

         alert("你没有该证书的私钥");

         }

该代码运行的效果为在页面上弹出证书序列号、颁发者、拥有者、是否拥有私钥等信息。

本节的示例代码的页面可在附属光盘的“Code/第五篇 电子商务网站应用-ASP/capicomtest”目录下的capicom-test.html文件中找到。