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文件中找到。