{{ _('Credentials / Handshake') }}

{{ _('Monitor OCPI handshake attempts, tokens, and mTLS readiness per backend.') }}

{% if message %} {% endif %} {% if errors %} {% for err in errors %} {% endfor %} {% endif %}

{{ _('Open handshakes') }}

{{ open_handshakes|length }}

{{ _('Pending or failed exchanges that may need attention.') }}

{{ _('Closed handshakes') }}

{{ closed_handshakes|length }}

{{ _('Successful or recently completed exchanges.') }}

{{ _('Handshake log') }}
{% for row in handshakes %} {% else %} {% endfor %}
{{ _('Backend') }} {{ _('State') }} {{ _('Status') }} {{ _('Last update') }} {{ _('Tokens / mTLS') }}
{{ row.name }} {% if row.state == 'closed' %} {{ _('Closed') }} {% else %} {{ _('Open') }} {% endif %}
{{ row.status }}
{{ row.detail or _('No details') }}
{{ row.updated_at or row.created_at }}
{{ _('Token') }} {{ _('Peer token') }} {{ _('Credentials token') }} {{ _('mTLS ready') }}
{% if row.backend_token_hint %}{{ _('Bootstrap token ending in') }} {{ row.backend_token_hint }}{% else %}{{ _('Bootstrap token missing') }}{% endif %}
{% if row.peer_token_hint %}{{ _('Peer token ending in') }} {{ row.peer_token_hint }}{% else %}{{ _('Peer token missing') }}{% endif %}
{{ _('No handshakes recorded yet.') }}