用途:该技能用于在 iOS 应用中正确使用 CryptoKit,处理超出 TLS 与 Data Protection 范围的自定义加密需求,例如静态或传输数据加密、载荷签名与验签、密钥生成与管理、端到端加密、从 CommonCrypto 迁移,以及采用后量子算法。
主要能力:提供 SHA256/384/512 哈希、HMAC 消息认证、AES-GCM 认证加密、ECDSA 签名验签、ECDH 密钥协商、HPKE 端到端加密,以及 Secure Enclave 硬件密钥管理。后量子部分涵盖 ML-KEM、ML-DSA 与 XWing 混合密码套件,并说明 iOS 26+ 的可用范围。
使用方式:资料给出各工作流的代码示例,例如 AES.GCM.seal/open、P256.Signing.PrivateKey().signature(for:)、sharedSecretFromKeyAgreement 后经 HKDF 派生对称密钥、HPKE.Sender/Recipient 的 seal/open。Secure Enclave 密钥通过 SecAccessControlCreateWithFlags 与 LAContext 生成,dataRepresentation 存入 Keychain 后恢复。跨平台共享代码可用 #if canImport(CryptoKit) 回退到 import Crypto。
适用场景:需要自定义签名、字段级加密、密钥协商、与非 Apple 系统互操作,或为长期敏感数据做后量子准备时使用。若仅需 HTTPS 传输、文件级保护、凭据存储或 CloudKit 同步,资料建议优先使用 URLSession+TLS、Data Protection、Keychain 或 CloudKit 加密。
限制:Secure Enclave 仅支持 P256 签名与密钥协商,不支持直接加密,模拟器不可用;SE 密钥设备绑定,重装、恢复、抹除或换机后不可用。CryptoKit 使用 secp256r1,与区块链常用的 secp256k1 不互通。ECDSA 签名默认 raw 格式,需转 DER 才能被 OpenSSL、Java、.NET 等验证。资料未提供安装命令、收费或价格信息。