Interface VAUProtocolCrypto
-
- All Known Implementing Classes:
VAUProtocolCryptoImpl
public interface VAUProtocolCrypto
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanProvideOcspResponse()voidcheckServerCertificate(java.security.cert.X509Certificate cert)byte[]decrypt_AESGCM(byte[] enc, byte[] symKey, long counter)java.security.PublicKeyeccPublicKeyFromBytes(byte[] pubKey)byte[]ECKA(java.security.PrivateKey prk, java.security.PublicKey puk)byte[]encrypt_AESGCM(byte[] encoded, byte[] symKey, long counter)java.security.KeyPairgenerateECCKeyPair()java.security.cert.X509CertificategetEECertificate()org.bouncycastle.cert.ocsp.OCSPRespgetOcspResponse()byte[]hash(byte[] in)byte[]HKDF(byte[] ikm, byte[] info, int length)byte[]HKDF(byte[] ikm, java.lang.String info, int length)booleanisECCIdentity()java.time.LocalDateTimenow()voidperformOcspCheckForCertificate(java.security.cert.X509Certificate cert)Führt eine OCSP-Überprüfung für das vorliegende Zertifikat durch.voidperformTslCheckForCertificate(java.security.cert.X509Certificate cert)Führt eine TSL-Überprüfung für das vorliegende Zertifikat durch.byte[]signECDSA(byte[] message)byte[]signRSASSA_PSS(byte[] message)voidvalidateAuthorizationAssertion(VAUProtocolSession vauProtocolSession, java.lang.String authorizationAssertionStr)Prüfungen gemäß den Vorgaben in [gemSpec_Dokumentenverwaltung]booleanverify(byte[] message, byte[] signatureBytes, java.security.PublicKey puk)
-
-
-
Method Detail
-
now
java.time.LocalDateTime now()
-
hash
byte[] hash(byte[] in)
-
ECKA
byte[] ECKA(java.security.PrivateKey prk, java.security.PublicKey puk) throws java.lang.Exception- Throws:
java.lang.Exception
-
HKDF
byte[] HKDF(byte[] ikm, java.lang.String info, int length) throws java.lang.IllegalArgumentException, org.bouncycastle.crypto.DataLengthException- Throws:
java.lang.IllegalArgumentExceptionorg.bouncycastle.crypto.DataLengthException
-
HKDF
byte[] HKDF(byte[] ikm, byte[] info, int length) throws java.lang.IllegalArgumentException, org.bouncycastle.crypto.DataLengthException- Throws:
java.lang.IllegalArgumentExceptionorg.bouncycastle.crypto.DataLengthException
-
signRSASSA_PSS
byte[] signRSASSA_PSS(byte[] message) throws java.lang.Exception- Throws:
java.lang.Exception
-
verify
boolean verify(byte[] message, byte[] signatureBytes, java.security.PublicKey puk)
-
signECDSA
byte[] signECDSA(byte[] message) throws java.lang.Exception- Throws:
java.lang.Exception
-
generateECCKeyPair
java.security.KeyPair generateECCKeyPair()
-
eccPublicKeyFromBytes
java.security.PublicKey eccPublicKeyFromBytes(byte[] pubKey)
-
getOcspResponse
org.bouncycastle.cert.ocsp.OCSPResp getOcspResponse()
-
getEECertificate
java.security.cert.X509Certificate getEECertificate()
-
isECCIdentity
boolean isECCIdentity()
-
canProvideOcspResponse
boolean canProvideOcspResponse()
-
encrypt_AESGCM
byte[] encrypt_AESGCM(byte[] encoded, byte[] symKey, long counter) throws java.lang.Exception- Throws:
java.lang.Exception
-
decrypt_AESGCM
byte[] decrypt_AESGCM(byte[] enc, byte[] symKey, long counter) throws java.lang.Exception- Throws:
java.lang.Exception
-
validateAuthorizationAssertion
void validateAuthorizationAssertion(VAUProtocolSession vauProtocolSession, java.lang.String authorizationAssertionStr)
Prüfungen gemäß den Vorgaben in [gemSpec_Dokumentenverwaltung]A_17387 - Komponente ePA-Dokumentenverwaltung – Authorization Assertion-Validierung Die Komponente ePA-Dokumentenverwaltung MUSS sicherstellen, dass Authorization Assertions nur akzeptiert werden, wenn das zugehörige Signaturzertifikat zeitlich gültig ist, nicht gesperrt wurde und nach dem Zertifikatsprofil C.FD.SIG auf die Identität der Komponente Autorisierung ausgestellt wurde.
A_14633 - Komponente ePA-Dokumentenverwaltung – Vermittlung der Verbindung zwischen Client und Verarbeitungskontext Das Kontextmanagement der Komponente ePA-Dokumentenverwaltung MUSS die Verbindung zwischen Client, d.h. dem ePA-Modul Frontend des Versicherten bzw. dem Fachmodul ePA oder Fachmodul ePA KTR-Consumer, und Verarbeitungskontext vermitteln und dabei • die Base64-dekodierte Authorization Assertion der VAUClientHello-Nachricht auf Gültigkeit gemäß Anforderung A_13690 sowie auf den gültigen Berechtigungstyp (AuthorizationType = "DOCUMENT_AUTHORIZATION") prüfen und bei ungültiger Authorization Assertion den Verbindungsaufbau abbrechen und mit dem HTTP-Fehler 403 antworten, • den Record Identifier des Verarbeitungskontextes über den Wert des Attributs Resource ID aus der Authorization Assertion der VAUClientHello-Nachricht ermitteln, • für Clients vom Typ ePA-Modul Frontend des Versicherten die Verbindung auf der Grundlage des vom Zugangsgateway gesetzten HTTP Header-Feldes Session registrieren, • für Clients vom Typ Fachmodul ePA die Verbindung auf Grundlage der TLS-Sitzung registrieren, • während der Dauer der Sitzung alle eingehenden Requests auf der Grundlage der registrierten Verbindung an den Zielverarbeitungskontext weiterleiten sowie • nach dem Ende der Sitzung, aufgrund eines Timeouts bzw. aufgrund einer Beendigung durch den Nutzer, die Registrierung der Verbindung löschen.
- Parameters:
vauProtocolSession-authorizationAssertionStr- base64 encoded
-
checkServerCertificate
void checkServerCertificate(java.security.cert.X509Certificate cert)
-
performOcspCheckForCertificate
void performOcspCheckForCertificate(java.security.cert.X509Certificate cert) throws java.lang.ExceptionFührt eine OCSP-Überprüfung für das vorliegende Zertifikat durch. Im Fehlerfall wird eine Exception geworfen.- Parameters:
cert- Das zu prüfende Zertifikat- Throws:
java.lang.Exception- Im Falle einer fehlgeschlagenen oder fehlerhaften OCSP-Überprüfung
-
performTslCheckForCertificate
void performTslCheckForCertificate(java.security.cert.X509Certificate cert) throws java.lang.ExceptionFührt eine TSL-Überprüfung für das vorliegende Zertifikat durch. Im Fehlerfall wird eine Exception geworfen. Die Prüfung erfolgt analog zu A_15873 Punkt 2- Parameters:
cert- Das zu prüfende Zertifikat- Throws:
java.lang.Exception- Im Falle einer fehlgeschlagenen oder fehlerhaften TSL-Überprüfung
-
-