CSDNCurrent en:V4.0.0

Aus Cryptshare Documentation
Wechseln zu:Navigation, Suche



New features

  • The API has been extended by several methods and properties related to QUICK Technology. For a primer on how to perform a QUICK transfer, please check out the guide "Perform a QUICK transfer".
  • The verification store behavior has been improved. Please note the breaking changes regarding the verification store below.
    • When given a path to the verification store, the `Client` instance uses a default `IStore` implementation that internally utilizes the Microsoft Data Protection API to protect the contents of the store.
      • An additional `ProtectionScope` parameter can be passed, specifying whether the verification store should be protected on a per-machine or per-user (domain) basis. When no `ProtectionScope` is specified, the `ProtectionScope.LocalMachine` is used, allowing different domain users to protect and unprotect the store contents on a single machine.
    • Alternatively, the `Client` constructor is able to accept an additional `IStore` parameter instead of a path to a verification store. This interface describes the general notion of setting, getting, removing key-value pairs and persisting its contents.
  • A parameterless version of `Client.CheckCompatibility` has been introduced to perform a Cryptshare Server compatibility check against the minimum required version which is defined internally by each version of the API.
  • The `Client` now supports storing the verification for a single user email address in combination with different Cryptshare Server URLs. This change makes it possible to persist multiple verification tokens of a single user, depending on the specified Cryptshare Server URLs.

Breaking changes

Existing client.store files are not compatible anymore!
Due to several internal changes to the verification store behavior, existing client.store files are not compatible anymore! Before utilizing the Cryptshare .NET API v4, please make sure to remove the client.store so it can be recreated by the API and perform the client or sender verification again.
  • The API now targets .NET Framework v4.5 instead of v4.0.
  • Several renamings and changes to method/property signatures have taken place in order to streamline the API design.
    • The namespaces `BefineSolutions.Cryptshare.API` and `BefineSolutions.Cryptshare.Web` have been merged and renamed to `Cryptshare.API.`
    • The visibility of `ToolBox` and `ClientUtils` is now `internal`
    • `Policy.AllowedStandardPasswordModes`
      • now returns an `ICollection<PasswordMode>` instead of `passwordMode[]`
    • `Policy.FailedAddresses`
      • has been renamed to `Policy.FailedEmailAddresses`
      • now returns an `ICollection<string>` instead of `string[]`
    • `ServerData.AdminEmails`
      • has been renamed to `ServerData.AdminEmailAddresses`
      • now returns an `ICollection<string>` instead of `string[]`
    • `ServerData.AdminLocale`
      • now returns a `CultureInfo` instead of `string`
    • `LicenseInfo.ServerLicenseExpirationDate`
      • now returns a `DateTime?` instead of `string`
    • `LicenseInfo.ServerSubscriptionExpirationDate`
      • now returns a `DateTime?` instead of `string`
    • `LicenseInfo.ProductLicenseExpirationDate`
      • now returns a `DateTime?` instead of `string`
    • `LicenseInfo.ProductSubscriptionExpirationDate`
      • now returns a `DateTime?` instead of `string`
    • `LanguagePack.LastUpdate`
      • now returns a `DateTime` instead of `long`
    • `Client.RequestMailTemplate`
      • has been renamed to `Client.RequestEmailTemplate`
      • now returns an `IDictionary<ICollection<string>, string>` instead of `MailTemplateResult`
      • the `replacements` parameter is now an `IDictionary<ICollection<string>, ICollection<TemplateReplacement>>` instead of `IDictionary<ISet<String>, ISet<TemplateReplacement>>`
      • the `emailFormat` parameter is now a `Cryptshare.API.EmailFormat` instead of `String`
    • `Client.SenderLanguage`
      • has been renamed to `Client.UserLanguage`
      • (is now a read-only property)
    • `Client.RequestTermsOfUse`
      • now returns a `Cryptshare.API.TermsOfUse`
    • `Client.RequestAddonSettings`
      • now returns a `IDictionary<string, AddonOptionValue>` instead of `AddonSettingsResult`
    • `Client.RequestPassword`
      • has been renamed to `RequestGeneratedPassword`
      • now returns the password as a `string`
    • `Client.CheckPassword`
      • now returns a `PasswordCheckResult` instead of `PasswordPolicy`
        • Use `Client.RequestPasswordPolicy` if you want to retrieve the password policies
    • `Client.RequestLanguagePack`
      • now returns an `ICollection` instead of `List`
    • `Client.UploadCompleteHandler`
      • now accepts an `IDictionary` instead of `Dictionary`
    • Client.`UploadCanceldHandler`
      • has been renamed to `UploadCancelledHandler`
    • `Client.UpdateTransferError`
      • return type has changed from `string` to `void`
        • If the method call was successful, nothing is returned. Otherwise, an exception is thrown.
    • `CryptshareConnetion.ComputeIdentifier`
      • doesn't require arguments anymore
    • `TransferError`
      • all properties are now `ICollection`s instead of `List`s
    • `Transfer.SendMails`
      • has been renamed to `Transfer.SendEmails`
    • `Transfer.PasswordMode`
      • the type has changed from `enum Cryptshare.Generated.WebService.passwordMode` to `enum Cryptshare.API.PasswordMode`
    • `Transfer.ClassificationID`
      • has been renamed to `Transfer.ClassificationId`
    • `Transfer.TrackingID`
      • has been renamed to `Transfer.TrackingId`
    • `Transfer.SessionId`
      • has been removed because it doesn't serve any purpose from an API consumer's point of view