Configuración de iOS & Verificación de Backend
Copie un prompt de configuración con los pasos de instalación y la guía markdown completa para este plugin.
__CAPGO_KEEP_0__ nativo del sistema iOS utilizado
Sección titulada “__CAPGO_KEEP_0__ nativo del sistema iOS utilizado”En iOS, este plugin utiliza Apple App Attest desde el DeviceCheck framework.
Requisitos
Sección titulada “Requisitos”- iOS 14+
- Se recomienda un dispositivo físico para flujos de validación real
- Objetivo de Xcode con la capacidad de App Attest habilitada
Configuración de Xcode
Sección titulada “Configuración de Xcode”- Abra su objetivo de aplicación iOS en Xcode.
- Vaya a Firma y capacidades.
- Haga clic + Capacidad y agregue Attest de la aplicación.
No se requieren permisos de iOS personalizados en Info.plist para el Attest de la aplicación en sí.
Flujo del cliente
Sección titulada “Flujo del cliente”import { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare();
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});Enviar attestation.token y assertion.token no validéellos en la aplicación.
Flujo de trabajo de backend (iOS)
Sección titulada “Flujo de trabajo de backend (iOS)”Registro (createAttestation)
Sección titulada “Registro (createAttestation)”- El backend crea una
challenge. - La aplicación llama
createAttestation({ keyId, challenge }). - El backend verifica la atestación de la aplicación App Attest:
- la cadena de certificados es válida y está anclada a Apple App Attest
- La identidad de la aplicación coincide con su aplicación (
bundleId, equipo) clientDataHashCoincideSHA256(challenge)
- Almacena el estado de la clave del dispositivo (
keyId, clave pública y metadatos de verificador).
Solicita protección (createAssertion)
Sección titulada “Solicita protección (createAssertion)”- El backend crea una solicitud temporal
payload(o el hash de solicitud canónico de entrada). - La aplicación llama
createAssertion({ keyId, payload }). - El backend verifica la firma de la afirmación con el material de clave almacenado previamente.
- Aplica la protección contra retransmisiones y comprobaciones de TTL de nonce.
esquema de iOS
Sección titulada “esquema de iOS”sequenceDiagram participant App as iOS App participant Plugin as AppAttest plugin participant Apple as Apple App Attest participant BE as Backend
BE->>App: one-time challenge App->>Plugin: prepare() Plugin->>Apple: generateKey() Apple-->>Plugin: keyId
App->>Plugin: createAttestation(keyId, challenge) Plugin->>Apple: attestKey(keyId, SHA256(challenge)) Apple-->>Plugin: attestation token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>BE: verify Apple attestation rules
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>Apple: generateAssertion(keyId, SHA256(payload)) Apple-->>Plugin: assertion token Plugin-->>App: token + platform + format + keyId App->>BE: token + payload + keyId BE->>BE: verify signature + replay policyContrato de contrato de payload backend mínimo
Sección titulada “Contrato de contrato de payload backend mínimo”Registro:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}Assertión:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}Sigue adelante desde la configuración de iOS y la verificación del backend
Sección titulada “Sigue adelante desde la configuración de iOS y la verificación del backend”Si estás utilizando Configuración de iOS y Verificación de Backend para planificar la seguridad y la conformidad, conecte con Usando @capgo/capacitor-app-attest para la capacidad nativa en Usando @capgo/capacitor-app-attest, Cifrado para el detalle de implementación en Cifrado, Conformidad para el detalle de implementación en Conformidad, Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner de Seguridad, y Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad.