當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang pkix_verify_hostname(Cert, ReferenceIDs)用法及代碼示例


pkix_verify_hostname(Cert, ReferenceIDs) -> boolean()
OTP 19.3
pkix_verify_hostname(Cert, ReferenceIDs, Options) -> boolean()
OTP 19.3
類型:
Cert = cert()
ReferenceIDs = referenceIDs()
Options = [{match_fun | fail_callback | fqdn_fun, function()}]

該函數檢查呈現的標識符對等證書中的(例如主機名)至少與其中之一一致參考標識符客戶端期望連接到的。該函數旨在在執行時添加為對等證書的額外客戶端檢查pkix_path_validation(Cert, CertChain, Options)

參看RFC 6125有關主機名驗證的詳細信息。這用戶手冊代碼示例更詳細地說明了這個函數。

選項 funs 說明如下:


match_fun
fun(ReferenceId::ReferenceId() | FQDN::string(),
    PresentedId::{dNSName,string()} | {uniformResourceIdentifier,string() |
                 {iPAddress,list(byte())} | {OtherId::atom()|oid(),term()}})
該函數替代了默認的主機名匹配規則。 fun 應該返回一個布爾值來判斷參考 ID 和呈現的 ID 是否匹配。 match fun還可以返回第三個值,value,原子default,如果應用默認匹配規則。這使得可以用特殊情況來增強測試:
fun(....) -> true;   % My special case
   (_, _) -> default % all others falls back to the inherit tests
end

參看pkix_verify_hostname_match_fun/1對於采用協議名稱作為參數並返回fun/2適合此選項並且重新定義匹配操作用戶指南中的示例。
注意

以二進製形式給出的引用 ID 值將轉換為字符串,並且 ip 引用可以以 "10.0.1.1" 或 "1234::5678:9012" 以及格式上的字符串格式給出國際網:ip_address()


fail_callback
如果匹配失敗,則可能存在無論如何都應該接受證書的情況。以您選擇接受過期證書的 Web 瀏覽器為例。此選項可以實現此類異常,但對於主機名除外。這fun/1當沒有時被調用ReferenceID火柴。 fun 的返回值(aboolean()) 決定結果。如果true證書被接受,否則被拒絕。看"Pinning"證書在用戶指南中。

fqdn_fun
此選項增強了從 URI 和其他參考 ID 中提取的主機名。例如,它可能是一個非常特殊且未標準化的 URI。 fun 將參考 ID 作為參數並返回以下之一:
  • 主機名
  • 原子default:將使用默認主機名提取函數
  • 原子undefined:無法提取主機名。 pkix_verify_hostname/3 將返回 false

例如,請參見主機名提取在用戶指南中。

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 pkix_verify_hostname(Cert, ReferenceIDs) -> boolean()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。