windows下如何设置?
1. 运行Internet服务管理器。 2. 选择默认Web站点,选定任意一个虚拟目录或站点下的个html、htm或asp文件。按右键,点击属性。 3. 选择文件安全性页,点击安全通讯选项的编辑按钮。 4. 选择访问此资源时需要安全通道复选框。它的3个选项如下: a) 不接受客户证书 选择此项系统不会弹出客户身份验证对话框,用户没有证书也可以访问。 b) 接受证书 选择此项系统会弹出客户身份验证对话框,用户选择提交或不提交证书都可以访问。 c) 需要客户证书 选择此项系统会弹出客户身份验证对话框,并且用户必须提交有效的客户端证书,否则就不能访问相应的文
件或目录。 默认设置为不接受客户证书。 5. 点击确定。 6. 选定步骤2中所选取的文件,按右键,点击浏览。将会新开一个浏览器窗口,系统页面会提示使用https
以启用SSL。请将URL中的http开头部分改成https,然后刷新该页。如果该页能正确显示则表示服务器证书已经
启用了。
X.509证书结构简介是用来描述数据结构及其编码的规则集,它广泛用于RFC(Request For Comments)文本
中的数据结构的描述。并对证书结构的公钥算法,公钥值进行了例证。
X.509证书结构简介及实例
一. ASN1(Abstract Syntax Notation One)简介
ASN1(Abstract Syntax Notation One),抽象语法符号)是用来描述数据结构及其编码的规则集,它广泛用于
RFC(Request For Comments)文本中的数据结构的描述。X.509证书结构(RFC 2459)就是采用ASN1描述
和编码的。因此首先对ASN1的编码规则做一简介。
在ASN1编码中,数据类型包括简单类型和结构类型。简单类型是不能再分解类型,如整型(INTERGER)
、比特串(BIT STRING)、字节串(OCTET STRING)、对象标示符(OBJECT IDENTIFIER)、日期型(UTCTime)等。结构类型是由简单类型和结构类型组合而成的,如顺序类型(SEQUENCE, SEQUENCE OF)、选择类型(CHOICE)、集合类型(SET)等。顺序类型的值由按给定顺序成员数据值组成;选择类型的
值由多个成员数据类型中的某一个值构成;集合数据类型由成员数据类型的一个或多个值构成。每一种类型都有
一个整数标记(TAG)来标识该类型。常用类型的TAG值如下:
Table 1.1: Tags of class UNIVERSAL
标记(TAG) 对应类型
[UNIVERSAL 1] BOOLEAN
[UNIVERSAL 2] INTEGER
[UNIVERSAL 3] BIT STRING
[UNIVERSAL 4] OCTET STRING
[UNIVERSAL 5] NULL
[UNIVERSAL 6] OBJECT IDENTIFIER
[UNIVERSAL 8] EXTERNAL, INSTANCE OF
[UNIVERSAL 12] UTF8String
[UNIVERSAL 13] RELATIVE-OID
[UNIVERSAL 16] SEQUENCE, SEQUENCE OF
[UNIVERSAL 17] SET, SET OF
[UNIVERSAL 18] NumericString
[UNIVERSAL 19] PrintableString
[UNIVERSAL 20] TeletexString, T61String
[UNIVERSAL 21] VideotexString
[UNIVERSAL 22] IA5String
[UNIVERSAL 23] UTCTime
[UNIVERSAL 24] GeneralizedTime
[UNIVERSAL 25] GraphicString
[UNIVERSAL 26] VisibleString, ISO646String
[UNIVERSAL 27] GeneralString
[UNIVERSAL 28] UniversalString
[UNIVERSAL 29] CHARACTER STRING
[UNIVERSAL 30] BMPString
[UNIVERSAL 31]... reserved for future use
不论是简单类型还是结构类型的值其编码都是由四个部分构成:类型标识字段,用来标识该值的类型;
长度字段,用来标识该值所占的字节数;值字段;结束标示字段。
在类型标识字段中,使用类型的TAG来标识该类型,在证书中使用一个字节来表示。Bit8-bit7 用来标示 TAG 类型,bit6 标示是否为结构类型(1 位结构类型),bit5-bit1是类型的TAG值。如 SEQUENCE 类型,其TA
G类型位UNIVERSAL(00),属于结构类型(1),TAG值为16(10000) 所以其类型标示字段值为(00110000),即为0x30。
长度字段,有两种编码格式。若长度值小于等于127,则用一个字节表示,bit8 = 0, bit7-bit1 存放长度值;若
长度值大于127,则用多个字节表示,第一个字节存放长度字段所占的字节数(<=127),并且bit8 = 1,其余字节
存放长度值。如果长度值不定用一个字节(0x80)表示。
值字段,存放数据值,具体编码随值的数据类型不同而不同。
结束标示字段,两个字节(0x0000),只有在长度值为不定时才会出现。
二. X.509证书结构
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate, --证书主体
signatureAlgorithm AlgorithmIdentifier, --证书签名算法标识
signatureValue BIT STRING --证书签名算法值
}
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1, --证书版本号
serialNumber CertificateSerialNumber, --证书序列号,对同一CA所颁发的证书,序列号唯一标识证书
signature AlgorithmIdentifier, --证书签名算法标识
issuer Name, --证书发行者名称
validity Validity, --证书有效期
subject Name, --证书主体名称
subjectPublicKeyInfo SubjectPublicKeyInfo, --证书公钥
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, -- 证书发
行者ID(可选),只在证书版本2、3中才有
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, --证书主体ID(可选),只在证书版本2、3中才有
extensions [3] EXPLICIT Extensions OPTIONAL --证书扩展段(可选),只在证书版本2、3中才有
}
Version ::= INTEGER { v1(0), v2(1), v3(2) }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
notBefore Time, -- 证书有效期起始时间
notAfter Time } -- 证书有效期终止时间
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
UniqueIdentifier ::= BIT STRING
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier, -- 公钥算法
subjectPublicKey BIT STRING } -- 公钥值
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }