Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ Diese wird in VauMessage 4 gespeichert und zurück zum Client geschickt.
Der Client öffnet die Nachricht, entschlüsselt die Ciphertext-KeyConfirmation und vergleicht wieder den erhalten Hash mit selbst berechneten.
Erst dann ist der Handshake abgeschlossen.

## Nutzung mit den APIs des Aktensystems

Unter Verwendung der Klasse `VauHttpClientHandler` lassen sich Aufrufe des Aktensystems via `HttpClient` transparent ver- und entschlüsseln. Die Tests in der Datei [VauClientTest.cs](lib-vau-csharp-test/VauClientTest.cs)
zeigen beispielhaft, wie diese Klasse mit von [NSwag](https://github.com/RicoSuter/NSwag) generierten Clients genutzt werden kann.

## License

Copyright 2024 gematik GmbH
Expand Down
10 changes: 8 additions & 2 deletions lib-vau-csharp-test/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,22 @@
* For additional notes and disclaimer from gematik and in case of changes by gematik find details in the "Readme" file.
*/

using lib_vau_csharp.data;
using System;
using System.IO;

using lib_vau_csharp_test.util;

using lib_vau_csharp.data;

using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
using System.IO;

namespace lib_vau_csharp_test
{
public static class Constants
{
public static Uri EpaDeploymentUrl = new Uri("http://localhost:443/");

public static class Keys
{
public static readonly EccKyberKeyPair EccKyberKeyPair = FileUtil.ReadEccKyberKeyPairFromFile(Paths.VauServerKeys);
Expand Down
3,034 changes: 3,034 additions & 0 deletions lib-vau-csharp-test/EpaApiClients/Auth/AuthorizationServiceClient.cs

Large diffs are not rendered by default.

57 changes: 57 additions & 0 deletions lib-vau-csharp-test/EpaApiClients/Auth/nswag.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"runtime": "net80",
"documentGenerator": {
"fromDocument": {
"url": "https://raw.githubusercontent.com/gematik/ePA-Basic/refs/heads/ePA-3.0.5/src/openapi/I_Authorization_Service.yaml",
"newLineBehavior": "Auto"
}
},
"codeGenerators": {
"openApiToCSharpClient": {
"generateClientClasses": true,
"generateDtoTypes": true,
"injectHttpClient": true,
"disposeHttpClient": false,
"generateExceptionClasses": true,
"exceptionClass": "AuthorizationServiceException",
"wrapDtoExceptions": true,
"useHttpClientCreationMethod": false,
"httpClientType": "System.Net.Http.HttpClient",
"useHttpRequestMessageCreationMethod": false,
"useBaseUrl": false,
"generateBaseUrlProperty": false,
"generateSyncMethods": false,
"exposeJsonSerializerSettings": false,
"generateClientInterfaces": true,
"clientClassAccessModifier": "public",
"typeAccessModifier": "public",
"generateContractsOutput": false,
"parameterDateTimeFormat": "s",
"generateUpdateJsonSerializerSettingsMethod": true,
"serializeTypeInformation": false,
"queryNullValue": "",
"className": "AuthorizationServiceClient",
"operationGenerationMode": "MultipleClientsFromOperationId",
"generateOptionalParameters": false,
"generateJsonMethods": false,
"wrapResponses": false,
"generateResponseClasses": true,
"responseClass": "AuthorizationServiceResponse",
"requiredPropertiesMustBeDefined": true,
"dateType": "System.DateTime",
"dateTimeType": "System.DateTime",
"timeType": "System.TimeSpan",
"timeSpanType": "System.TimeSpan",
"generateDefaultValues": true,
"generateDataAnnotations": false,
"excludedTypeNames": [],
"handleReferences": false,
"namespace": "lib_vau_csharp_test.EpaApiClients.Auth",
"generateImmutableArrayProperties": false,
"generateImmutableDictionaryProperties": false,
"output": "AuthorizationServiceClient.cs",
"jsonLibrary": "SystemTextJson",
"jsonSerializerSettingsTransformationMethod": null
}
}
}

Large diffs are not rendered by default.

57 changes: 57 additions & 0 deletions lib-vau-csharp-test/EpaApiClients/EntitlementManagement/nswag.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"runtime": "net80",
"documentGenerator": {
"fromDocument": {
"url": "https://raw.githubusercontent.com/gematik/ePA-Basic/refs/heads/ePA-3.0.5/src/openapi/I_Entitlement_Management.yaml",
"newLineBehavior": "Auto"
}
},
"codeGenerators": {
"openApiToCSharpClient": {
"generateClientClasses": true,
"generateDtoTypes": true,
"injectHttpClient": true,
"disposeHttpClient": false,
"generateExceptionClasses": true,
"exceptionClass": "EntitlementManagementException",
"wrapDtoExceptions": true,
"useHttpClientCreationMethod": false,
"httpClientType": "System.Net.Http.HttpClient",
"useHttpRequestMessageCreationMethod": false,
"useBaseUrl": false,
"generateBaseUrlProperty": false,
"generateSyncMethods": false,
"exposeJsonSerializerSettings": false,
"generateClientInterfaces": true,
"clientClassAccessModifier": "public",
"typeAccessModifier": "public",
"generateContractsOutput": false,
"parameterDateTimeFormat": "s",
"generateUpdateJsonSerializerSettingsMethod": true,
"serializeTypeInformation": false,
"queryNullValue": "",
"className": "EntitlementManagementClient",
"operationGenerationMode": "MultipleClientsFromOperationId",
"generateOptionalParameters": false,
"generateJsonMethods": false,
"wrapResponses": false,
"generateResponseClasses": true,
"responseClass": "EntitlementManagementResponse",
"requiredPropertiesMustBeDefined": true,
"dateType": "System.DateTime",
"dateTimeType": "System.DateTime",
"timeType": "System.TimeSpan",
"timeSpanType": "System.TimeSpan",
"generateDefaultValues": true,
"generateDataAnnotations": false,
"excludedTypeNames": [],
"handleReferences": false,
"namespace": "lib_vau_csharp_test.EpaApiClients.EntitlementManagement",
"generateImmutableArrayProperties": false,
"generateImmutableDictionaryProperties": false,
"output": "EntitlementManagementClient.cs",
"jsonLibrary": "SystemTextJson",
"jsonSerializerSettingsTransformationMethod": null
}
}
}
Loading