Class VAUProtocol
- java.lang.Object
-
- de.gematik.ti.vauchannel.protocol.VAUProtocol
-
public class VAUProtocol extends java.lang.ObjectImplementiert das Kommunikationsprotokoll zwischen VAU und ePA-Clients gemäß [gemSpec_Krypt] Kapitel 6.
-
-
Constructor Summary
Constructors Constructor Description VAUProtocol(VAUProtocolCrypto crypto, VAUProtocolSession session)VAUProtocol(VAUProtocolCrypto crypto, VAUProtocolSession session, VAUProtocolSessionPersister persister)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseSession()VAUProtocolCryptocrypto()TransportedDatadecrypt(byte[] in)Implementiert die Datenentschlüsselung gemäß [gemSpec_Krypt] Kapitel 6.8, Nutzerdatentransportbyte[]encrypt(TransportedData transportedData)Implementiert die Datenverschlüsselung gemäß [gemSpec_Krypt] Kapitel 6.8, Nutzerdatentransportjava.lang.StringgenerateVAUServerErrorMessage(java.lang.String errorMessage)Implementiert [gemSpec_Krypt] Kapitel 6.9, VAU-Protokoll: VAUServerError-Nachrichten, mit Anforderungen [A_16851]static byte[]getKeyIDFromRawRequest(byte[] rawRequest)VAUProtocolSessionPersistergetPersister()voidhandleNotRecoverableException(java.lang.Exception e, java.lang.String errorMessage)voidhandleNotRecoverableException(java.lang.String errorMessage)java.lang.StringhandshakeStep1_generate_VAUClientHello_Message(byte[] authzToken)Implementiert [gemSpec_Krypt] Kapitel 6.3, VAUClientHello-Nachricht, mit Anforderung [A_16883-01] und speichert den Autorisierungstoken authzToken in der VAUClientHello-Nachricht (inklusive der Erweiterung gemäß Anforderung A_15592-01)java.lang.StringhandshakeStep2_generate_VAUServerHello_Message(java.lang.String vAUClientHelloStr)Implementiert [gemSpec_Krypt] Kapitel 6.4, VAUServerHello-Nachricht, mit Anforderungen [A_16898], [A_16901-01]java.lang.StringhandshakeStep3_generate_VAUClientSigFin_Message(java.lang.String vAUServerHelloStr)Implementiert [gemSpec_Krypt] Kapitel 6.6, VAUClientSigFin-Nachricht, mit Anforderungen [A_17070-01], [A_16941-01], [A_16903]java.lang.StringhandshakeStep4_generate_VAUServerFin_Message(java.lang.String vAUClientSigFinStr)Implementiert [gemSpec_Krypt] Kapitel 6.7, VAUServerFin-Nachricht, mit Anforderungen [A_17072-01], [A_16899], [A_17073]voidhandshakeStep5_validate_VAUServerFin_Message(java.lang.String vAUServerFinStr)Implementiert [gemSpec_Krypt] Kapitel 6.7, VAUServerFin-Nachricht, mit Anforderung [A_17084]VAUProtocolSessionsession()voidtryToPersist()java.lang.StringvalidateAndUnpackServerError(java.lang.String serverErrorStr)
-
-
-
Constructor Detail
-
VAUProtocol
public VAUProtocol(VAUProtocolCrypto crypto, VAUProtocolSession session, VAUProtocolSessionPersister persister)
-
VAUProtocol
public VAUProtocol(VAUProtocolCrypto crypto, VAUProtocolSession session)
-
-
Method Detail
-
getKeyIDFromRawRequest
public static byte[] getKeyIDFromRawRequest(byte[] rawRequest)
-
handshakeStep1_generate_VAUClientHello_Message
public java.lang.String handshakeStep1_generate_VAUClientHello_Message(byte[] authzToken)
Implementiert [gemSpec_Krypt] Kapitel 6.3, VAUClientHello-Nachricht, mit Anforderung [A_16883-01] und speichert den Autorisierungstoken authzToken in der VAUClientHello-Nachricht (inklusive der Erweiterung gemäß Anforderung A_15592-01)- Parameters:
authzToken-- Returns:
-
handshakeStep2_generate_VAUServerHello_Message
public java.lang.String handshakeStep2_generate_VAUServerHello_Message(java.lang.String vAUClientHelloStr)
Implementiert [gemSpec_Krypt] Kapitel 6.4, VAUServerHello-Nachricht, mit Anforderungen [A_16898], [A_16901-01]- Parameters:
vAUClientHelloStr-- Returns:
-
handshakeStep3_generate_VAUClientSigFin_Message
public java.lang.String handshakeStep3_generate_VAUClientSigFin_Message(java.lang.String vAUServerHelloStr)
Implementiert [gemSpec_Krypt] Kapitel 6.6, VAUClientSigFin-Nachricht, mit Anforderungen [A_17070-01], [A_16941-01], [A_16903]- Parameters:
vAUServerHelloStr-- Returns:
-
handshakeStep4_generate_VAUServerFin_Message
public java.lang.String handshakeStep4_generate_VAUServerFin_Message(java.lang.String vAUClientSigFinStr)
Implementiert [gemSpec_Krypt] Kapitel 6.7, VAUServerFin-Nachricht, mit Anforderungen [A_17072-01], [A_16899], [A_17073]- Parameters:
vAUClientSigFinStr-- Returns:
-
handshakeStep5_validate_VAUServerFin_Message
public void handshakeStep5_validate_VAUServerFin_Message(java.lang.String vAUServerFinStr)
Implementiert [gemSpec_Krypt] Kapitel 6.7, VAUServerFin-Nachricht, mit Anforderung [A_17084]- Parameters:
vAUServerFinStr-
-
generateVAUServerErrorMessage
public java.lang.String generateVAUServerErrorMessage(java.lang.String errorMessage)
Implementiert [gemSpec_Krypt] Kapitel 6.9, VAU-Protokoll: VAUServerError-Nachrichten, mit Anforderungen [A_16851]- Parameters:
errorMessage-- Returns:
-
validateAndUnpackServerError
public java.lang.String validateAndUnpackServerError(java.lang.String serverErrorStr)
-
session
public VAUProtocolSession session()
-
crypto
public VAUProtocolCrypto crypto()
-
encrypt
public byte[] encrypt(TransportedData transportedData)
Implementiert die Datenverschlüsselung gemäß [gemSpec_Krypt] Kapitel 6.8, Nutzerdatentransport- Parameters:
transportedData-- Returns:
-
decrypt
public TransportedData decrypt(byte[] in)
Implementiert die Datenentschlüsselung gemäß [gemSpec_Krypt] Kapitel 6.8, Nutzerdatentransport- Parameters:
in-- Returns:
-
handleNotRecoverableException
public void handleNotRecoverableException(java.lang.String errorMessage)
-
handleNotRecoverableException
public void handleNotRecoverableException(java.lang.Exception e, java.lang.String errorMessage)
-
closeSession
public void closeSession()
-
tryToPersist
public void tryToPersist()
-
getPersister
public VAUProtocolSessionPersister getPersister()
-
-