首頁  >  文章  >  web前端  >  htm5新增的表單元素keygen標籤的用法和屬性介紹

htm5新增的表單元素keygen標籤的用法和屬性介紹

寻∝梦
寻∝梦原創
2018-08-18 13:30:484295瀏覽

htm5新增的表單元素keygen標籤的用法和屬性介紹,本篇文章主要為大家介紹了html5 keygen標籤的定義用法及其屬性的描述,還有關於html5 keygen標籤的優缺點說明

html5 keygen標籤的定義和用法:

標籤規定用於表單的金鑰對產生器欄位。

當提交表單時,私鑰儲存在本地,公鑰發送到伺服器。

HTML5 標籤實例:

#具有keygen 欄位的表單:

<form action="demo_keygen.asp" method="get">
Username: <input type="text" name="usr_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form>

html5 keygen標籤的屬性:

htm5新增的表單元素keygen標籤的用法和屬性介紹

html5 keygen標籤的優缺點介紹:

首先標籤會產生一個公鑰和私鑰,私鑰會存放在使用者本地,而公鑰則會傳送到伺服器。那麼標籤產生的公鑰/私鑰是用來做什麼用的呢?很多朋友看到公鑰/私鑰的時候,應該就會想到非對稱加密。沒錯,標籤在這裡扮演的角色也是一樣。

標籤所期望的是收到SPKAC(SignedPublicKeyAndChallenge)排列後,伺服器會產生一個客戶端憑證(Client Certificate),然後回到瀏覽器讓使用者去下載儲存到本機。之後,用戶在需要驗證的時候,使用本地儲存的私鑰和憑證後透過TLS/SSL安全傳輸協定到服務端做驗證。

以下是使用標籤的優點:

  1. #一個是可以提高驗證時的安全性;

  2. 同時如果是作為客戶端憑證來使用,可以提高對MITM攻擊的防禦力度;

  3. keygen標籤是跨越瀏覽器實現的,實作起來非常容易;

  4. 另外就是可以不用考慮作業系統的管理員權限問題。例如作業系統對不同使用者設定了不同的瀏覽器權限,IE或其他瀏覽器可以在設定裡面禁用key的生成,這種情況下,可以透過keygen標籤來產生和使用沒有誤差的客戶端憑證。

標籤的不足之處也有很多:(例如下面的十種)

  1. 證書(Certificates)在不同的系統裡不是容易方便的(但對於某些系統,這又是一個優勢)。

  2. 沒有在標準的位置儲存私鑰。

  3. 在html頁面看到標籤產生的內容總是讓人困惑和難以理解。

  4. 標籤會讓使用者從一個清單中選擇適當的key,但大多數使用者不知道該如何選擇。

  5. 很多使用者並不清楚是否該根據提示下載憑證(Certificate)。

  6. 標籤不提供一個能管理憑證讓其失效的機制。

  7. 沒有標準的key長度或hash來實現瀏覽器無關性。

  8. 不支援演算法(RSA, DSA, ECC等)。

  9. key的大小選擇只能來自標籤產生的表單內容,而不是使用者可以選擇的。

  10. 簽章只能基於MD5,而不能使用其他的加密演算法。

瀏覽器支援

所有主流瀏覽器都支援 標籤,除了 Internet Explorer 和 Safari。

【相關推薦】

html標籤legend的具體用法你知道嗎? legend標籤的屬性與使用方法詳解

html map標籤是什麼? html map標籤的結構及具體使用方法詳解


#

以上是htm5新增的表單元素keygen標籤的用法和屬性介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn