CSDNCurrent de:V5.0.0

Aus Cryptshare Documentation
Wechseln zu:Navigation, Suche



Neue Funktionen

Transfer zurückziehen

Es ist nun möglich, einen Transfer zurückzuziehen, sodass die dazugehörigen Dateien für die Empfänger nicht weiter zugänglich sind. Um einen Transfer zurückzurufen, müssen Sie lediglich eine beliebige Überladung von `Client.RevokeTransfer` aufrufen und, falls notwendig, angeben, ob der Absender/Empfänger per E-Mail über den Rückzug des Transfers informiert werden soll. Optional können Sie eine Nachricht als Parameter übergeben, um den Standardbenachrichtigungstext mit einer benutzerdefinierten Nachricht zu ersetzen. Weitere Information über das Zurückziehen eines Transfers finden Sie hier.

Bereitstellen einer eigenen `IProtectionService`-Implementierung für den Schutz der Client Store

Es besteht nun die Möglichkeit, eine eigene `IProtectionService`-Implementierung für den Schutz der Client Store bereitzustellen. Wir stellen auch die Referenzimplementierung `AesProtectionService` bereit, welche es erlaubt, die Client Store mittels AES-Verschlüsselung und einem ausgewählten `IKeySourceProvider` zu schützen. Auch für den `IKeySourceProvider` bieten wir die Referenzimplementierung `MachineGuidKeySourceProvider` an, welche die "Machine GUID" als Schlüssel nutzt. Weitere Informationen über das Bereitstellen eines `IStore` mit eigener `IProtectionService`-Implementierung finden Sie hier.

Neuer `UploadFilesFinishedHandler` Callback

Es wurde ein neuer `UploadFilesFinishedHandler` Callback-Parameter für die Methoden `Client.PerformTransfer` und `Client.BeginTransfer` eingeführt. Dieser Handler wird aufgerufen, nachdem der Datei-Upload abgeschlossen wurde, jedoch bevor die Dateien vom Server weiterverarbeitet werden. Zusammenfassend lässt sich sagen, dass zwischen den Aufrufen zu `UploadFilesFinishedHandler` und `UploadCompletedHandler` der Server diverse Verarbeitungen wie z.B. Dateiverschlüsselung durchführt.

QUICK mit Client-Verifizierungsverfahren

Die Möglichkeit zur Nutzung von QUICK in Verbindung mit dem Client-Verifizierungsverfahren mittels `Client.RequestClientVerification` wurde eingeführt.

Dieses Feature bringt eine nicht-abwärtskompatible Änderung mit sich - bitte lesen Sie sich diese vorsichtig durch.

Weitere Informationen über das Versenden eines QUICK Transfers mittels Client-Verifizierungsverfahren finden Sie hier.

Nicht-abwärtskompatible Änderungen

  • Beginnend mit der Cryptshare Server Version 4.5.0 sollte die Property `CheckVerificationResult.UserVerified` genutzt werden - die Property `CheckVerificationResult.Verified` ist nun als "obsolet" markiert. Falls Ihr Cryptshare Server jedoch noch auf einer Version älter als 4.5.0 ist, müssen Sie weiterhin die als obsolet markierte Property `CheckVerificationResult.Verified` nutzen, bis Sie Ihren Cryptshare Server aktualisiert haben!
  • Das Verhalten des Client-Verifizierungsverfahren wurde grundlegend überarbeitet. Wenn Sie derzeit das Client-Verifizierungsverfahren nutzen, die Cryptshare .NET API auf 5.0.0 und den Cryptshare Server auf 4.5.0 aktualisieren, müssen Sie einmalig `Client.RequestClientVerification` aufrufen und den Verifizierungsstatus anschließend mittels `CheckVerificationResult.UserVerified` überprüfen. Der Client ist so lange nicht verifiziert, bis Sie diesen Schritt durchgeführt haben, auch wenn Ihre Client ID auf dem Server gewhitelistet ist!
    • Wie im ersten Punkt beschrieben wurde die Property `CheckVerificationResult.Verified` als obsolet markiert. Obwohl diese Property in den meisten Fällen weiterhin das korrekte Ergebnis liefert, ist es bei Nutzung des Client-Verifizierungsverfahrens auf einem Cryptshare Server Version 4.5.0 (oder höher) zwingend erforderlich, die Property `CheckVerificationResult.UserVerified` zu nutzen.

Der folgende Codeausschnitt zeigt ein Beispiel, wie das Behandlen des Verifizierungsstatus in Zukunft gestaltet werden kann:

Quellcode anzeigen...  Expand source

CheckVerificationResult checkVerificationResult = client.CheckVerification();
if (!checkVerificationResult.UserVerified)
{
    switch (checkVerificationResult.VerificationMode)
    {
        case VerificationMode.Sender:
            Console.WriteLine($"Requesting a verification code for {client.UserEmailAddress}...");
            client.RequestSenderVerification();
            Console.WriteLine($"Please enter the code below and confirm with [Enter]:");
            string code = Console.ReadLine().Trim();
            client.ConfirmSenderVerification(code);
            break;
        case VerificationMode.Client:
            if (checkVerificationResult.ClientVerificationAllowed)
            {
                client.RequestClientVerification();
            }
            else
            {
                throw new UnauthorizedAccessException(
                    $"Your client ID is not whitelisted. Please whitelist the following client ID before proceeding: {client.ClientId}"
                );
            }
            break;
        default:
            break;
    }

Reduzierung des Timeout-Werts

  • Der Zeitüberschreibungswert für Verbindungen zwischen dem Client und dem Cryptshare Server wurde auf 2 Minuten reduziert.