在 Matter 配网和操作中,为了信息交互的安全,在配网时,Commissioner自身需要完整的证书,同时需要向设备安装操作证书。

Matter 证书包含:

  • RCA: 根证书

  • ICA: 中间证书,可选

  • NOC: 操作证书(注意有以下两种操作证书)

    • MTRDeviceController操作证书: MTRDeviceController 使用的 NOC
    • 设备操作证书:发送给设备的NOC

MTRDeviceController初始化

必须要的参数

ipk: 16字节,对 fabric 有效,随机数。

VendorID: 厂商ID

keyPair: 基于 RCA 或者 commissioner NOC(如果指定的话) 的公私钥对。还要用私钥实现相关加密方法。

证书签发方式

在 Apple 提供的 Matter.framework 框架中,提供三种不同的证书签发方案。

  1. 本地自动签发(开源中DarWin 示例工程方案),只需要指定FabricID 即可完成整个证书的自动签发,缺点:本设备有效,同步难。

  2. 本地指定 RCA, ICA,NOC(以上三个证书可以本地保存,也可以云端请求),后续自动根据证书参数生成设备 NOC. 缺点:不安全

  3. 所有证书云端签发: Commissioner初始化之前,从云端获取RCA, ICA,NOC。自行实现 nocChinIsser ,根据 CSR 信息由云端生成设备的 NOC。缺点:依赖网络和云端证书。

还需要指定 paa 列表,可以参考dcl (csa-iot.org)否则会出现设备不信任回调。

节点操作凭证过程

设备节点操作证书是基于 CSR 信息签发。可以由本地默认签发,也可以通过服务器签发。

服务器签发

服务器签发需要自定义签发器,并且遵守MTROperationalCertificateIssuer并回调设备节点操作证书。

- (void)issueOperationalCertificateForRequest:(MTROperationalCSRInfo *)csrInfoattestationInfo:(MTRDeviceAttestationInfo *)attestationInfocontroller:(MTRDeviceController *)controllercompletion:(void (^)(MTROperationalCertificateChain * _Nullable info,NSError * _Nullable error))completion  API_AVAILABLE(ios(16.4)){// 基于csr信息 在云端或者自行签发设备的操作证书。}

为MTRDeviceController设置操作证书签发器

// iOS 16.4
MTRDeviceControllerStartupParams * params = [[MTRDeviceControllerStartupParams alloc] initWithIPK:ipk operationalKeypair:keypair operationalCertificate:nocCertificate intermediateCertificate:icaCertificate rootCertificate:rootCertificate];
//xxxIssuer *issuer =   签发器实体
//dispatch_queue_t nocIssuerQueue =  签发队列
[params setOperationalCertificateIssuer:issuer];
[params setOperationalCertificateIssuerQueue:nocIssuerQueue];

iOS Matter 操作证书签发方案相关推荐

  1. 漫谈iOS程序的证书和签名机制 1

    原文:漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕 ...

  2. 【转】漫谈iOS程序的证书和签名机制

    转自:漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕 ...

  3. electron 打开调试_构建基于 iOS 模拟器的前端调试方案

    作者:imyzf 本文将为大家介绍自动化控制 iOS 模拟器的原理,为开发基于 iOS 模拟器的前端调试方案提供帮助. 我们在开发 iOS App 内的前端页面时,有一个很大的痛点,页面无法使用 Sa ...

  4. iOS 开发者开证书创建流程

    开发者网站:https://developer.apple.com:  一.认识各种证书及其作用  1.开发者证书分为 开发 和 发布 两种,类型为ios Development,iOS Distri ...

  5. PKI详解与openssl实现私有CA证书签发

    加密解密技术基础 在看这篇文章之前,首先需要有加密解密的技术基础: 安全目标: 保密性:确保通信信息不被任何无关的人看到 完整性:实现通信双方的报文不丢失.数据完整性.系统完整性 可用性:通信任何一方 ...

  6. 基于OpenSSL的CA建立及证书签发(签发多域名/IP)

    自签SSL证书(多域名/IP) 本文基于以下环境: 内核信息:Linux zabbix 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 ...

  7. 服务器证书签发的ip地址选项,公网IP申请SSL证书 DV1-5分钟快速签发IP文件认证

    原标题:公网IP申请SSL证书 DV1-5分钟快速签发IP文件认证 随着互联网的安全产需求变化,IP地址SSL证书广泛使用,直接避免了服务器公网IP劫持,几分钟就可以完成IP SSL证书的注册,下面是 ...

  8. Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略

    Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略 文章目录 1. 创建证书 2. 修改Xcode的配置文件 3. 准备自定义的生成后脚本 4. 修改工程设置 5. 旁门左道生成 ...

  9. PKI证书签发系统(web版)

    这几天没事干,学校安排小学期做一个pki证书签发系统,班上的学霸美女一组,哈哈!虽然90%的活都是我做的,但是帮帮女生也是可以得嘛!扯远了!看看效果吧!用的是ssh框架做的一个签发证书网站,有普通用户 ...

最新文章

  1. php cms拥有博客功能,20款最为知名的开源PHP CMS
  2. CDOJ 486 Good Morning 傻逼题
  3. 经典面试题 之 子数组之和最大值
  4. [MSSQL]COALESCE与ISNULL函数
  5. 两个富翁打赌_打赌您无法解决这个Google面试问题。
  6. qemu-kvm磁盘读写的缓冲(cache)的五种模式
  7. 深度对比Apache CarbonData、Hudi和Open Delta三大开源数据湖方案
  8. treeview 文字垂直方向_word文本排版技巧:改变文字方向的这些方法,你知道吗?...
  9. Just do IT --- gulp
  10. jQuery提供的存储接口
  11. Linux命令——set 和 unset
  12. Tableau宣布退出中国市场,背后的原因细思恐极...
  13. 数据结构与算法碎碎念之运用递归处理问题
  14. 基于stm32的两轮自平衡小车4(软件调试篇)
  15. nmap——端口扫描_基础命令
  16. libjpeg库和libpng库的移植和使用
  17. 个人计算机中的防毒软件无法防御,win10系统中无法启动defender防御软件的处理办法...
  18. 科技前沿:几款意念控制器
  19. lintcode----解码方法
  20. 墨卡托投影转换公式(java实现)

热门文章

  1. iPhone12键盘使用技巧
  2. 问题11:web前端开发规范手册(转)
  3. 建设银行乡村振兴面试回答思路指南
  4. 计算机考试说明 科目一,科目一考试电脑怎么用 科目一电脑操作步骤
  5. Bayesian Persuation
  6. Linux防火墙关闭(重启)操作(centos)
  7. 利用计算机窃听,以色列研究人员实现利用计算机风扇噪音窃听
  8. 《自然语言处理实战入门》第二章: NLP前置技术----网络爬虫简介
  9. mysql将公历农历转换_php 公历农历如何实现转换
  10. 【debug】powerdesigner 工具栏图标被禁用