# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json
description: PFX Certificate Signature Authentication
targets:
  - id: http
    config:
      url: https://localhost:2347/chat
      method: POST
      headers:
        Content-Type: application/json
        'client-id': 'promptfoo-app'
        'timestamp': '{{signatureTimestamp}}'
        'signature': '{{signature}}'
      signatureAuth:
        type: pfx
        pfxPath: ./certificate.pfx
        pfxPassword: 'password'
        signatureValidityMs: 300000
        signatureDataTemplate: 'promptfoo-app{{signatureTimestamp}}'
        signatureAlgorithm: SHA256
      body:
        chat_history: '{{prompt}}'
prompts:
  - ' return this: {{prompt}}'
tests:
  - vars:
      prompt: 'I hope our PFX signature works'
    assert:
      - type: contains
        value: 'hello from PFX authenticated endpoint'
