最近看了一下chromium浏览器代码,想找到 ios平台有关读证书和验证证书的接口,最终没有找到,但有发现一些证书相关的接口,不知道以后会不会用到,在这里做一下笔记。

如果你看到这篇文章,知道在ios平台有关读证书和验证证书的一些信息,希望分享一下!

chromium浏览器证书操作公用部分路径: ../src/net/cert/

此路径下cert_status_flags_list.h 头文件定义了证书状态:

// This is the list of CertStatus flags and their values.
//
// Defines the values using a macro CERT_STATUS_FLAG,
// so it can be expanded differently in some places// The possible status bits for CertStatus.
// Bits 0 to 15 are for errors.
CERT_STATUS_FLAG(COMMON_NAME_INVALID, 1 << 0)
CERT_STATUS_FLAG(DATE_INVALID, 1 << 1)
CERT_STATUS_FLAG(AUTHORITY_INVALID, 1 << 2)
// 1 << 3 is reserved for ERR_CERT_CONTAINS_ERRORS (not useful with WinHTTP).
CERT_STATUS_FLAG(NO_REVOCATION_MECHANISM, 1 << 4)
CERT_STATUS_FLAG(UNABLE_TO_CHECK_REVOCATION, 1 << 5)
CERT_STATUS_FLAG(REVOKED, 1 << 6)
CERT_STATUS_FLAG(INVALID, 1 << 7)
CERT_STATUS_FLAG(WEAK_SIGNATURE_ALGORITHM, 1 << 8)
// 1 << 9 was used for CERT_STATUS_NOT_IN_DNS
CERT_STATUS_FLAG(NON_UNIQUE_NAME, 1 << 10)
CERT_STATUS_FLAG(WEAK_KEY, 1 << 11)
// 1 << 12 was used for CERT_STATUS_WEAK_DH_KEY
CERT_STATUS_FLAG(PINNED_KEY_MISSING, 1 << 13)
CERT_STATUS_FLAG(NAME_CONSTRAINT_VIOLATION, 1 << 14)
CERT_STATUS_FLAG(VALIDITY_TOO_LONG, 1 << 15)// Bits 16 to 23 are for non-error statuses.
CERT_STATUS_FLAG(IS_EV, 1 << 16)
CERT_STATUS_FLAG(REV_CHECKING_ENABLED, 1 << 17)
// Bit 18 was CERT_STATUS_IS_DNSSEC
CERT_STATUS_FLAG(SHA1_SIGNATURE_PRESENT, 1 << 19)
CERT_STATUS_FLAG(CT_COMPLIANCE_FAILED, 1 << 20)// Bits 24 - 31 are for errors.
CERT_STATUS_FLAG(CERTIFICATE_TRANSPARENCY_REQUIRED, 1 << 24)

ios证书相关的操作路径:../src/ios/web/net/
相关文件:
crw_cert_verification_controller.h
crw_cert_verification_controller.mm
crw_cert_verification_controller_unittest.mm

crw_cert_verification_controller.h 头文件定义:

证书下载策略:

// Accept policy for valid or invalid SSL cert.
typedef NS_ENUM(NSInteger, CertAcceptPolicy) {// Cert status can't be determined due to an error. Caller should reject the// load and show a net error page.CERT_ACCEPT_POLICY_NON_RECOVERABLE_ERROR = 0,// The cert is not valid. Caller may present an SSL warning and ask the user// if they want to proceed or reject the load.CERT_ACCEPT_POLICY_RECOVERABLE_ERROR_UNDECIDED_BY_USER,// The cert is not valid. However, the caller should proceed with the load// because the user has decided to proceed with this invalid cert.CERT_ACCEPT_POLICY_RECOVERABLE_ERROR_ACCEPTED_BY_USER,// The cert is valid. Caller should proceed with the load.CERT_ACCEPT_POLICY_ALLOW,
};

此函数根据trust和host决定证书下载策略

- (void)decideLoadPolicyForTrust:(base::ScopedCFTypeRef<SecTrustRef>)trusthost:(NSString*)hostcompletionHandler:(web::PolicyDecisionHandler)completionHandler;

此函数根据trust和host决定证书的状态

- (void)querySSLStatusForTrust:(base::ScopedCFTypeRef<SecTrustRef>)trusthost:(NSString*)hostcompletionHandler:(web::StatusQueryHandler)completionHandler;

此函数记录证书被允许用于host 在以后decideLoadPolicyForTrust调用中

- (void)allowCert:(scoped_refptr<net::X509Certificate>)certforHost:(NSString*)hoststatus:(net::CertStatus)status;

仅做一下记录,如有新的发现再更新...

有关chromium浏览器 ios 读证书 验证证书 (注没有找到方法),在这里做一下笔记相关推荐

  1. LightProxy 无线端代理iOS,安装验证证书后仍不生效

    现象 按照之前使用代理的经验,扫码安装,安装完后 打开手机 设置 => 通用 => 关于本机 => 描述文件与设备管理 验证证书 配置代理后,不能访问网页,提示证书无效 解决办法 添 ...

  2. 密码学专题 证书和CA指令 申请证书|建立CA|CA操作|使用证书|验证证书

    Req指令介绍 功能概述和指令格式 req指令一般来说应该是提供给证书申请用户的工具,用来生成证书请求以便交给CA验证和签发证书.但是,OpenSSL的req指令的功能远比这样的要求强大得多,它不仅可 ...

  3. ssl 客户端证书验证_SSL客户端身份验证:这是信任的问题

    ssl 客户端证书验证 [编者注:本文介绍了如何为Domino 4.6和4.6.1设置SSL客户机认证.] 互联网上最新的行业流行词是SSL. 但是SSL真正需要提供什么? 安全套接字层(SSL)是一 ...

  4. Android的证书验证过程

    说明:本文分析源码基于Android_8.1 (还在看代码和修改文章的阶段,有点乱,慢慢来-) 文章目录 0x01 系统证书 0x02 证书管理类 0x03 证书验证流程 3.1 建立安全的连接 3. ...

  5. https证书验证的基本方法

    https证书是一种数字证书,这种证书的主要作用是保护网站的信息安全,此时就能够提高网站的安全性.不过,网站配置了https证书之后一定要进行https证书验证,这种情况下的安全性是很高的.但是,ht ...

  6. Ubuntu 15 安装Chromium浏览器并添加Flash插件Pepper Flash Player

    Chromium谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe公司的Flash将无法正常工作了.然而用户可以使用Pepper Flash Player,这是谷歌浏览器上一款替代 ...

  7. bootsrtap h5 移动版页面 在苹果手机ios滑动上下拉动滚动卡顿问题解决方法

    bootsrtap h5 移动版页面 在苹果手机ios滑动上下拉动滚动卡顿问题解决方法 bootsrtap框架做的h5页面,在android手机下没有卡顿问题,在苹果手机就一直存在这问题,开始毫无头绪 ...

  8. net安装 0x80096004 无法验证证书的签名_如何购买iOS签名证书

    ios签名证书购买只能购买企业开发者帐号,只有企业开发者才能提供签名服务. 签名机制的意义 安全.苹果为了对App的环境有绝对的控制权,只有被苹果认可的应用才可以安装到手机上.可以避免应用被篡改,以及 ...

  9. ios 凭据验证_iOS应用SSL .p12身份验证 – 证书错误(-9825)

    更新 编辑2/6/14: 我创建了一个本地Apache Tomcat服务器来测试带有证书身份验证的SSL.我成功了!使用下面的两种方法,一切都按预期工作. (MKNetworkKit和自定义代码).虽 ...

最新文章

  1. 3D器官和骨骼将使移植清单成为历史
  2. Linux Socket学习(十三)
  3. 集合论——二元关系的表示方法,特殊的二元关系及关系的运算
  4. bat批处理延迟运行脚本
  5. The directory '*' or its parent directory is not owned by the current user
  6. python res_Python models.resnet152方法代码示例
  7. nginx源码分析之内存池实现原理
  8. 将Tomcat集成到eclipse中并写出第一条web语句
  9. 微信公众号开发 ----微信网页开发config接口注入(3)
  10. [zhuan]asp.net程序性能优化的七个方面 (c#(或vb.net)程序改进)
  11. 工具 - 文本比较/对比 - 收集
  12. html代码清明节,清明节网上祭祀网站登陆地址:http://www.tsingming.com/index.html
  13. Nginx+Tomcat 负载均衡+动静分离
  14. 微信小程序实现下拉框功能
  15. 2021年计算机软考时间公布啦
  16. 李飞飞CS231n2017课程双语字幕版上线 !(附课程链接)
  17. github上fork,star,watch是什么意思
  18. Linux使用rpm命令卸载软件
  19. 909422229_科大讯飞语音听写Java web API接口
  20. Git三剑客之基础部分

热门文章

  1. 怎么免费制作logo?logo免费设计在线生成,从此设计不求人
  2. ASCII美国信息交换标准代码表
  3. Linux命名空间cgroups简介
  4. 你该知道的Pyecharts简易上手教程
  5. 阿里巴巴(Alibaba)笔试编程题
  6. 安装部署Ceph Calamari
  7. 小红书种草模式有哪些?如何保证种草效果
  8. 关于ucore实验一的资料查找
  9. python批量下载兰科植物网站的图片,并重命名文件
  10. Kubernetes利用CNI-bridge插件打通网络