openrtc-trust-apple-app-attest
v2.0.1
Published
Optional Apple App Attest host adapter for OpenRTC 2.0 device enrollment.
Readme
openrtc-trust-apple-app-attest
This package adapts an application-owned native App Attest implementation to
OpenRTC's provider-neutral enrollment interface. The native host must return
evidence bound to the exact challenge it receives. Encode the host result as a
base64url JSON token. Initial enrollment uses
{ mode: "attestation", keyId, attestationObject }; renewal uses
{ mode: "assertion", keyId, assertion }. Binary fields are base64url.
OpenRTC verifies Apple’s App Attestation root chain, certificate nonce, App ID RP hash, environment AAGUID, key identifier, validation category, bundle version, assertion signature, challenge binding, and monotonic counter. Only the verified public key and counter are retained; raw evidence is never stored.
AppleAppAttestProvider declares request-challenge binding. The separate
AppleDeviceCheckProvider is a lower-trust app-session fallback: DeviceCheck
does not sign OpenRTC's enrollment challenge and must be registered separately
in the developer manifest. Neither adapter is a connection heartbeat.
