pkix_verify_hostname(Cert, ReferenceIDs) -> boolean()
OTP 19.3pkix_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()}})
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 pkix_path_validation(Cert, CertChain, Options)用法及代碼示例
- erlang pkix_crls_validate(OTPcertificate, DPandCRLs, Options)用法及代碼示例
- erlang pkix_test_data(ChainConf)用法及代碼示例
- erlang put用法及代碼示例
- erlang ports用法及代碼示例
- erlang processes用法及代碼示例
- erlang pid_to_list用法及代碼示例
- erlang pid_to_list(Pid)用法及代碼示例
- erlang processes()用法及代碼示例
- erlang put(Key, Val)用法及代碼示例
- erlang print(DataOrStats, Options)用法及代碼示例
- erlang peek(Q :: queue(Item))用法及代碼示例
- erlang peek_r(Q :: queue(Item))用法及代碼示例
- erlang pseudo(Master, ServerList)用法及代碼示例
- erlang perf_counter(Unit)用法及代碼示例
- erlang parse_erl_exprs(Prompt)用法及代碼示例
- erlang put(Key, Value, Map1)用法及代碼示例
- erlang part(Subject, PosLen)用法及代碼示例
- erlang pad(String, Length)用法及代碼示例
- erlang prefix(String :: unicode:chardata(), Prefix :: unicode:chardata())用法及代碼示例
- erlang partition(Pred, List)用法及代碼示例
- erlang partition(SetOfSets)用法及代碼示例
- erlang partition(SetFun, Set)用法及代碼示例
- erlang partition(SetFun, Set1, Set2)用法及代碼示例
- erlang partition_family(SetFun, Set)用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 pkix_verify_hostname(Cert, ReferenceIDs) -> boolean()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。