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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。