Tls

TLS 擴展簽名算法值

  • June 15, 2018

我討厭要求參考,但我很難找到這個。

tls 擴展上的iana頁面只是將我連結回rfc5246,它只有以下值:

enum {
   none(0), md5(1), sha1(2), sha224(3), sha256(4), sha384(5),
   sha512(6), (255)
} HashAlgorithm;

enum { anonymous(0), rsa(1), dsa(2), ecdsa(3), (255) }
 SignatureAlgorithm;

我有一個客戶你好,我在這裡看到了下面的簽名和雜湊擴展:

000d 0014 0012 0403 0804 0401 0503 0805 0501 0806 0601 0201

我在哪裡可以找到這些引用的參考?

其中一些值是在草案中定義的,在某些時候應該成為 RFC。例如,最新(截至今天)的 TLS 1.3 草案在第 4.2.3 節中列出了值 0x0804、0x0805 和 0x0806(這些指定帶有新型“PSS”填充的 RSA 簽名,與 SHA-256、SHA- 384 和 SHA-512)。

“000d 0014 0012”值實際上是擴展的標題:

  • 000d是“簽名算法”擴展的標識符。
  • 0014是擴展內容長度(以字節為單位)。
  • 0012是擴展中值列表的長度(因為擴展被定義為值列表,並且 TLS 消息編碼中的列表採用顯式標頭,該標頭以字節為單位給出列表長度)。

請注意,雖然 16 位值最初被設計為兩個連續的字節(第一個用於雜湊算法,第二個用於簽名算法),但它們現在往往被定義為完整的 16 位值,涵蓋整個簽名算法,沒有特定的子結構。

引用自:https://crypto.stackexchange.com/questions/60045