Skip to content

Releases: datatheorem/TrustKit

1.6.3

06 Nov 00:12
Compare
Choose a tag to compare
  • Fixed minor security warnings (#213, #212).

1.6.2

04 Aug 03:10
Compare
Choose a tag to compare
  • Fixed handling of overlapping pin sets when using kTSKIncludeSubdomains (#200).
  • Enabled Modules in the CocoaPods spec file so that TrustKit can be packaged in a static Swift library (#205).

1.6.1

17 Feb 22:55
Compare
Choose a tag to compare
  • Fixed a bug with the kTSKExcludeSubdomainFromParentPolicy setting (#187).
  • Fixed static analysis warnings in Xcode 10.

1.6.0

26 Sep 04:59
Compare
Choose a tag to compare
  • Dropped support for iOS 8 and iOS 9.
  • Fixed build errors on iOS 12 (#172) and when using Objective-C++ (#160)
  • Added support for SSL reporting from app extensions (#168)
  • The TSKPublicKeyAlgorithms configuration key is now deprecated; the algorithm of the public key to pin no longer needs to be provided in the TrustKit configuration.
  • The TSKAdditionalTrustAnchors configuration key is now deprecated because its intended functionality no longer works on iOS (#154).
  • Fixed the expiration date logic to always use the UTC time zone (#166)

1.5.3

20 Feb 23:52
Compare
Choose a tag to compare
  • Fixed issue with TSKIncludeSubdomains applying the pinning policy to the wrong domains when parsing the TrustKit configuration (#156).

1.5.2

28 Nov 01:57
Compare
Choose a tag to compare
  • Fixed header name conflict with other SDKs such as Mopub (#150).
  • Fixed TSKSPKIHashCache's API by requiring the identifier to not be nil (#147).

1.5.1

29 Jul 02:16
Compare
Choose a tag to compare
  • Fixed umbrella header and project targets for linking without CocoaPods.
  • Fixed a bug when using kTSKIncludeSubdomains with domains that have a TLD with the same length.
  • Fixed a crash when using a pinning validation callback to read the server's trust.
  • Fixed a crash when enabling kTSKSwizzleNetworkDelegates for connection delegates swizzling.

1.5.0

13 Jul 14:02
Compare
Choose a tag to compare
  • Implemented major changes to support the usage of multiple instances of TrustKit, instead of being forced to use a singleton.
    • This is useful for larger Apps that have split some of their functionality into multiple frameworks/SDKs. Each framework can initialize its own instance of TrustKit and use it for pinning validation independently of the App's other components. See the -initWithConfig: method for more information.
    • The singleton approach should still be used by most Apps as it is simpler. A few minor code changes are required for Apps migrating from previous versions, detailed at the end of this page.
  • Pinning validation notifications have been removed and replaced by a callback that can be set in order to receive information about any pinning validation performed by TrustKit. See the pinningValidatorCallback property of the TrustKit class for more information.
  • The default value for the kTSKSwizzleNetworkDelegates setting has been changed to NO.
  • Support for iOS 7 and macOS 10.9 has been dropped.

Migrating from 1.4.2

For initializing TrustKit, switch from:

[TrustKit initializeWithConfiguration:trustKitConfig];

to:

[TrustKit initSharedInstanceWithConfiguration:trustKitConfig];

For any code using the TSKPinningValidator class, switch from:

[TSKPinningValidator handleChallenge:challenge completionHandler:completionHandler];

to:

[TrustKit.sharedInstance.pinningValidator handleChallenge:challenge completionHandler:completionHandler];

1.4.2

01 Mar 19:59
Compare
Choose a tag to compare
  • New TSKExcludeSubdomainFromParentPolicy domain configuration key. If set to YES, TrustKit will not pin this specific domain if TSKIncludeSubdomains was set for this domain’s parent domain. This allows excluding specific subdomains from a pinning policy that was applied to a parent domain.
  • Switched from the build number (CFBundleVersion) to the release version number (CFBundleShortVersionString) for the app-version field within reports.
  • Various bug fixes:
    • Switch from the deprecated OSSpinLock to os_unfair_lock when running on an iOS 10+ / macOS 10.12+ device.
    • Fixed serialization warning during initialization.
    • Added support for newer gTLDs (such as .team).

1.4.1

28 Jan 03:17
Compare
Choose a tag to compare
  • Added support for secp384r1 certificates (kTSKAlgorithmEcDsaSecp384r1).
  • Added the ability to specify an expiration date for a domain's pinning policy (kTSKExpirationDate). This will help prevent connectivity issues in Apps which do not get updates to their pins, such as when the user disables App updates.
  • A backup pin is no longer required when pinning validation is not enforced (ie. when kTSKEnforcePinning is set to NO).
  • Fixed a bug causing random unicode characters to be displayed in the date-time field of pinning failure reports sent by devices with non-standard time settings.
  • Improved the documentation and switched to jazzy for generating it.