Asp Object 之:ClientCertificate

來源:互聯網
上載者:User
client|object

ClientCertificate

ClientCertificate 集合從 網頁瀏覽器發布請求中擷取驗證欄位(由 X.509 標準指定)。

如果 網頁瀏覽器使用 SSL3.0/PCT1 協議(也就是說,它使用以 https:// 開頭的 URL,而不是 http://)串連伺服器及伺服器請求驗證,則瀏覽器將發送驗證欄位。

如果沒有發送驗證,ClientCertificate 集合將返回 EMPTY。

必須先將 Web 服務器配置為要求用戶端驗證,然後才能使用 ClientCertificate 集合。

文法

Request.ClientCertificate( Key[SubField] ) 

參數

Key
指定要擷取的驗證欄位名稱。用戶端驗證封裝括下欄欄位。 值意義Certificate按 ASN.1 格式的二進位流字串,其中包括完整的驗證內容。Flags一組標誌,提供其他用戶端驗證資訊。可以設定下面的標誌:

ceCertPresent - 當前的用戶端驗證。

ceUnrecognizedIssuer - 該鏈上來自未知的發行者的最後一個驗證。

注意 要使用以上標誌,必須在 ASP 頁中包含用戶端驗證封裝含檔案。若您正在使用 VBScript,則應包含 cervbs.inc。這些檔案安裝在 \Inetpub\ASPSamp\Samples 目錄下。

Issuer包含子欄位值的列表的字串,此列表包含驗證發行者的資訊。若該值在無 SubField 項的情況下指定,則 ClientCertificate 集合返回一個以逗號分隔的子欄位列表。例如,C=US, O=Verisign 等。SerialNumber包含驗證的序號的字串,序號以連字號 (-) 分隔的 16 進位 ASCII 碼錶示。例如,04-67-F3-02。Subject包含子欄位值的列表的字串,此列表包含有關驗證的主題資訊。若該值在無 SubField 項的情況下指定,則 ClientCertificate 集合返回一個以逗號分隔的子欄位列表。例如,C=US, O=Verisign 等。ValidFrom指定驗證何時有效。此日期遵循 VBScript 格式並隨國家(地區)設定而變化。例如,在美國可表示為 9/26/96 11:59:59 PM.ValidUntil指定驗證何時到期。

SubField
選擇性參數,用於按 Subject 或 Issuer 關鍵字檢索單獨的欄位。此參數作為一個尾碼添加到 Key 參數中。例如,IssuerO 或 SubjectCN。下表列出了一些通用的 SubField 值。 值意義C指定原國家(地區)名。CN指定公用使用者名稱。(此子欄位僅同 Subject 關鍵字一起使用。)GN指定給定的名稱。I指定一組首字母。L指定所在地。O指定公司或組織名稱。OU指定機構的名稱。S指定州或省。T指定此人或組織的頭銜。

與在上述列表中所列的值不同,SubField 的值可被 ASN.1 標識所識別。ASN.1 標識的格式是一串通過句點 (.) 分隔的一系列數。例如: 3.56.7886.34。

注釋

可以通過關鍵字用迴圈來遍曆 ClientCertificate 集合。下面的例子對此進行示範。

<%For Each key in Request.ClientCertificate  Response.Write( key & ": " & Request.ClientCertificate(key) & "
")Next%>

樣本

下面的樣本使用 Subject 關鍵字測試用戶端驗證是否存在。

<%If Len(Request.ClientCertificate("Subject")) = 0  Response.Write("No client certificate was presented")End if%> 

下面的樣本擷取發布用戶端驗證的公司的一般名稱。

<%= Request.ClientCertificate("IssuerCN") %> 

下面的樣本檢查用戶端驗證主題的組織名。

<% If (Request.ClientCertificate("Subject")="Msft")  Response.Write("Good Choice!")End if%> 

下面的樣本顯示用戶端驗證何時到期。

This certification will expire on <%= Request.ClientCertificate("ValidUntil") %> 

下面的樣本使用 Flags 關鍵字測試用戶端驗證的發行者是不是已知的。第一行的 include 命令使指令碼可使用已命名標誌 ceUnrecognizedIssuer。

<%If Request.ClientCertificate("Flags") and ceUnrecognizedIssuer then  Response.Write "Unrecognized issuer"End If%> 

應用於

Request 對象



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.