# Posture schema for generic software clients
$schema: "http://json-schema.org/draft-07/schema#"
title: Posture without TPM attestation
description: The posture of the client instance. The structure depends on the platform.
type: object
properties:
  platform_product_id:
    oneOf:
      - $ref: "./product-id-windows.yaml"
      - $ref: "./product-id-linux.yaml"
    description: The product identifier
  product_id:
    type: string
    description: The gematik product identifier
  product_version:
    type: string
    description: The product version
  os:
    type: string
    description: Operating system name
  os_version:
    type: string
    description: Operating system version
  arch:
    type: string
    description: Hardware Architecture
  public_key:
    type: string
    description: The public self signed signing key (PEM or base64 DER encoded)
  attestation_challenge:
    type: string
    description: The attestation challenge of the client instance, used to verify
      the public client instance key and the nonce from AuthS Calculated by
      HASH(JWK Thumbprint of PuK.Client.Sig + Nonce). Deprecated, use nonce
      instead
  nonce:
    type: string
    description: The nonce from AuthS
required:
  - product_id
  - product_version
  - os
  - os_version
  - arch
  - public_key
