# TLS+VAU-Protokoll

Bei ePA wird bei den Kommunikationen zwei Sicherungsschichten (TLS+VAU-Protokoll) parallel verwendet.

[![grafik.png](https://tipkg.de/uploads/images/gallery/2025-04/scaled-1680-/6ocgrafik.png)](https://tipkg.de/uploads/images/gallery/2025-04/6ocgrafik.png)

Zunächst gibt es eine TLS-Schicht, die die Grundlage einer HTTPS-Schnittstelle ist. Auf der TLS-Ebene gibt es ein TLS-Server-Zertifikat aus der TI-PKI.

Über diese HTTPS-Schnittstelle werden "äußere HTTP-Request" vom Client an den Server (VST, FDZ, ePA-AS) gesendet.

In diesen äußeren Requests sind VAU-Protokoll-Nachrichten verpackt. Eine zentrale Grundlage des VAU-Protokolls stellt das VAU-Protokoll-Server-Zertifikat -- wieder aus der Komponenten-PKI der TI.

VAU-Protokoll:

<table border="1" id="bkmrk-spezifikation%3A%C2%A0-http" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>Spezifikation:

</td><td>[https://gemspec.gematik.de/docs/gemSpec/gemSpec\_Krypt/latest/#7](https://gemspec.gematik.de/docs/gemSpec/gemSpec_Krypt/latest/#7)   
</td></tr><tr><td>Beispiel-Code für Aushandlung der symmetrischen VAU-Kanal-Schlüssel:</td><td>[https://bitbucket.org/andreas\_hallof/vau-protokoll/src/master/minimal/](https://bitbucket.org/andreas_hallof/vau-protokoll/src/master/minimal/)   
</td></tr><tr><td>Beispiel-Code in python</td><td>[https://bitbucket.org/andreas\_hallof/vau-protokoll/src/master/](https://bitbucket.org/andreas_hallof/vau-protokoll/src/master/)   
</td></tr><tr><td>Beispiel-Code für Java:</td><td>[https://github.com/gematik/lib-vau](https://github.com/gematik/lib-vau)   
</td></tr><tr><td>Beispiel-Code in C#:</td><td>[https://github.com/gematik/lib-vau-csharp](https://github.com/gematik/lib-vau-csharp)   
</td></tr><tr><td>Beispiel-Code in Go:</td><td>[https://github.com/gematik/zero-lab/tree/vau/pkg/libvau](https://github.com/gematik/zero-lab/tree/vau/pkg/libvau)   
</td></tr></tbody></table>