首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書(shū)資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

  The server sends this message when it is satisfied with the clients security handshake and is ready to proceed with transmission/reception of the higher level protocols data. The SESSION-ID-DATA is used by the client and the server at this time to add entries to their respective session-identifier caches. The session-identifier caches must contain a copy of the MASTER-KEY sent in the CLIENT-MASTER-KEY message as the master key is used for all subsequent session key generation.
"N" is the number of bytes in the message that was sent, so "N-1" is the number of bytes in the SESSION-ID-DATA without the message header byte.

  This message must be sent after the SERVER-VERIFY message.


  REQUEST-CERTIFICATE (Phase 2; Sent encrypted)
  char MSG-REQUEST-CERTIFICATE
  char AUTHENTICATION-TYPE
  char CERTIFICATE-CHALLENGE-DATA[N-2]

  A server may issue this request at any time during the second phase of the connection handshake, asking for the client's certificate. The client responds with a CLIENT-CERTIFICATE message immediately if it has one, or an ERROR message (with error code NO-CERTIFICATE-ERROR) if it doesn't. The CERTIFICATE-CHALLENGE-DATA is a short byte string (whose length is greater than or equal to 16 bytes and less than or equal to 32 bytes) that the client will use to respond to this message.
The AUTHENTICATION-TYPE value is used to choose a particular means of authenticating the client. The following types are defined:


  SSL_AT_MD5_WITH_RSA_ENCRYPTION
  The SSL_AT_MD5_WITH_RSA_ENCRYPTION type requires that the client construct an MD5 message digest using information as described above in the section on the CLIENT-CERTIFICATE message. Once the digest is created, the client encrypts it using its private key (formatted according to the digital signature standard defined in PKCS#1). The server authenticates the client when it receives the CLIENT-CERTIFICATE message.

  This message may be sent after a SERVER-VERIFY message and before a SERVER-FINISHED message.


2.7 Client/Server Protocol Messages

  These messages are generated by both the client and the server.

  ERROR (Sent clear or encrypted)
  char MSG-ERROR
  char ERROR-CODE-MSB
  char ERROR-CODE-LSB

  This message is sent when an error is detected. After the message is sent, the sending party shuts the connection down. The receiving party records the error and then shuts its connection down.
This message is sent in the clear if an error occurs during session key negotiation. After a session key has been agreed upon, errors are sent encrypted like all other messages.


  Appendix A: ASN.1 Syntax For Certificates

  Certificates are used by SSL to authenticate servers and clients. SSL Certificates are based largely on the X.509 [3] certificates. An X.509 certificate contains the following information (in ASN.1 [1] notation):

  X.509-Certificate ::= SEQUENCE {
  certificateInfo CertificateInfo,
  signatureAlgorithm AlgorithmIdentifier,
  signature BIT STRING
}

  CertificateInfo ::= SEQUENCE {
  version [0] Version DEFAULT v1988,
  serialNumber CertificateSerialNumber,
  signature AlgorithmIdentifier,
  issuer Name,
  validity Validity,
  subject Name,
  subjectPublicKeyInfo SubjectPublicKeyInfo
}

  Version ::= INTEGER { v1988(0) }

  CertificateSerialNumber ::= INTEGER

  Validity ::= SEQUENCE {
  notBefore UTCTime,
  notAfter UTCTime
}

  SubjectPublicKeyInfo ::= SEQUENCE {
  algorithm AlgorithmIdentifier,
  subjectPublicKey BIT STRING
}

  AlgorithmIdentifier ::= SEQUENCE {
  algorithm OBJECT IDENTIFIER,
  parameters ANY DEFINED BY ALGORITHM OPTIONAL
}

  For SSL's purposes we restrict the values of some of the X.509 fields:

  The X.509-Certificate::signatureAlgorithm and CertificateInfo::signature fields must be identical in value.

  The issuer name must resolve to a name that is deemed acceptable by the application using SSL. How the application using SSL does this is outside the scope of this memo.

  Certificates are validated using a few straightforward steps. First, the signature on the certificate is checked and if invalid, the certificate is invalid (either a transmission error or an attempted forgery occurred). Next, the CertificateInfo::issuer field is verified to be an issuer that the application trusts (using an unspecified mechanism). The CertificateInfo::validity field is checked against the current date and verified.

  Finally, the CertificateInfo::subject field is checked. This check is optional and depends on the level of trust required by the application using SSL.


  Appendix B: Attribute Types and Object Identifiers

  SSL uses a subset of the X.520 selected attribute types as well as a few specific object identifiers. Future revisions of the SSL protocol may include support for more attribute types and more object identifiers.

  B.1 Selected attribute types
  commonName { attributeType 3 }
  The common name contained in the distinguished name contained within a certificate issuer or certificate subject.

  countryName { attributeType 6 }
  The country name contained in the distinguished name contained within a certificate issuer or certificate subject.

  localityName { attributeType 7 }
  The locality name contained in the distinguished name contained within a certificate issuer or certificate subject.

  stateOrProvinceName { attributeType 8 }
  The state or province name contained in the distinguished name contained within a certificate issuer or certificate subject.

  organizationName { attributeType 10 }
  The organization name contained in the distinguished name contained within a certificate issuer or certificate subject.

  organizationalUnitName { attributeType 11 }
  The organizational unit name contained in the distinguished name contained within a certificate issuer or certificate subject.

  B.2 Object identifiers
  md2withRSAEncryption { ... pkcs(1) 1 2 }
  The object identifier for digital signatures that use both MD2 and RSA encryption. Used by SSL for certificate signature verification.

  md5withRSAEncryption { ... pkcs(1) 1 4 }
  The object identifier for digital signatures that use both MD5 and RSA encryption. Used by SSL for certificate signature verification.

  rc4 { ... rsadsi(113549) 3 4 }
  The RC4 symmetric stream cipher algorithm used by SSL for bulk encryption.

  Appendix C: Protocol Constant Values
  This section describes various protocol constants. A special value needs mentioning - the IANA reserved port number for "https" (HTTP using SSL). IANA has reserved port number 443 (decimal) for "https".

  C.1 Protocol Version Codes
  #define SSL_CLIENT_VERSION 0x0002
  #define SSL_SERVER_VERSION 0x0002

  C.2 Protocol Message Codes
  The following values define the message codes that are used by version 2 of the SSL Handshake Protocol.

  #define SSL_MT_ERROR 0
  #define SSL_MT_CLIENT_HELLO 1
  #define SSL_MT_CLIENT_MASTER_KEY 2
  #define SSL_MT_CLIENT_FINISHED 3
  #define SSL_MT_SERVER_HELLO 4
  #define SSL_MT_SERVER_VERIFY 5
  #define SSL_MT_SERVER_FINISHED 6
  #define SSL_MT_REQUEST_CERTIFICATE 7
  #define SSL_MT_CLIENT_CERTIFICATE 8

  C.3 Error Message Codes
  The following values define the error codes used by the ERROR message.

  #define SSL_PE_NO_CIPHER 0x0001
  #define SSL_PE_NO_CERTIFICATE 0x0002
  #define SSL_PE_BAD_CERTIFICATE 0x0004
  #define SSL_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006

  C.4 Cipher Kind Values
  The following values define the CIPHER-KIND codes used in the CLIENT-HELLO and SERVER-HELLO messages.

  #define SSL_CK_RC4_128_WITH_MD5 0x01,0x00,0x80
  #define SSL_CK_RC4_128_EXPORT40_WITH_MD5 0x02,0x00,0x80
  #define SSL_CK_RC2_128_CBC_WITH_MD5 0x03,0x00,0x80
  #define SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x04,0x00,0x80
  #define SSL_CK_IDEA_128_CBC_WITH_MD5 0x05,0x00,0x80
  #define SSL_CK_DES_64_CBC_WITH_MD5 0x06,0x00,0x40
  #define SSL_CK_DES_192_EDE3_CBC_WITH_MD5 0x07,0x00,0xC0

上一頁(yè)  1 2 3 4 5 6 7 8 9 10 下一頁(yè)
文章責(zé)編:ak47  
看了本文的網(wǎng)友還看了
文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。