Pkcs11Interop 4.0.0

@jariq jariq released this Aug 23, 2017 · 13 commits to master since this release

  • Fix #43: Updated to PKCS#11 v2.40 errata01
  • Fix #44: Updated to Visual Studio 2017
  • Fix #49: Projects in new Pkcs11Interop.NetStandard solution have been created from scratch in Visual Studio 2017. This solution replaces old Pkcs11Interop.DotNetCore solution.
  • Renamed COREFX symbol to NETSTANDARD1_3 symbol
  • Fix #50: Included PKCS11-MOCK 1.0.0 library in test projects
  • Fix #51: Tests are executed during automated AppVeyor builds
  • Build scripts now support "--with-tests" parameter
  • Fix #52: Strongly named assemblies are generated by default
  • Fix #53: All StrongName projects/libs/packages were dropped
  • Fix #54: Introduced five new enums - AppType, InitType, SlotsType, WaitType and SessionType - that replaced several most annoying occurrences of bool type in public API. These changes break backwards API compatibility.

Pkcs11Interop 3.3.0

@jariq jariq released this Jan 24, 2017 · 39 commits to master since this release

  • AppVeyor continuous integration service setup contributed by Peter Polačko
  • Added Session::CloseWhenDisposed property which brings more control over the session lifetime to HighLevelAPIs
  • Fix #41: Added *.StrongName projects that produce strongly named assemblies which are published in a separate nuget package
  • Introduced AttributeValueException that should provide more useful information when reading or conversion of attribute value fails

Pkcs11Interop 3.2.0

@jariq jariq released this Jul 17, 2016 · 58 commits to master since this release

  • Added support for .NET Core 1.0 RTM / .NET Standard 1.3
  • Refreshed Xamarin.Android and Xamarin.iOS solutions for VS 2015
  • Xamarin.Android targets Android 2.3 API 10 as a minimum SDK version
  • Added build scripts for convenient releasing and NuGet packaging
  • Fix #28: Introduced Net.Pkcs11Interop.Common.LibraryArchitectureException which indicates an attempt to load unmanaged PKCS#11 library designated for a different architecture
  • Fixed reading of empty CK_DATE attributes
  • Fixed pointer arithmetics in the processing of array attributes
  • Unified runtime OS detection in Net.Pkcs11Interop.Common.Platform class
  • Net.Pkcs11Interop.Common.CK, Net.Pkcs11Interop.Common.CKF and Net.Pkcs11Interop.Common.CKZ classes are now static
  • Improved HexString conversions
  • Improved return value marshaling of all unmanaged PKCS#11 functions by using uint/ulong types instead of Net.Pkcs11Interop.Common.CKR type
  • Improved return value marshaling of FreeLibrary() function
  • Improved marshaling of C_GetSLotList() function parameters in cases when it is being invoked directly instead of being invoked via the pointer returned by C_GetFunctionList() function

Pkcs11Interop 3.0.0

@jariq jariq released this Mar 20, 2016 · 120 commits to master since this release

  • Added support for PKCS#11 URI scheme defined in RFC 7512
  • Added support for Silverlight 5, Xamarin.Android and Xamarin.iOS
  • PKCS11-MOCK module can be used for testing on all supported platforms
  • APIs can now be easily extended to support vendor specific unmanaged functions
  • Value of array attributes (e.g. CKA_WRAP_TEMPLATE and CKA_UNWRAP_TEMPLATE) can now be read also in HighLevelAPIs
  • Fixed GetAttributeValue() method in HighLevelAPIs
  • Fixed marshalling of unmanaged CK_BBOOL type in C_GetSlotList() function and in CK_KEA_DERIVE_PARAMS, CK_SSL3_KEY_MAT_PARAMS and CK_WTLS_KEY_MAT_PARAMS structs
  • Fixed marshalling of PasswordLen member in CK_PKCS5_PBKD2_PARAMS struct
  • Class Net.Pkcs11Interop.Common.UnmanagedLong has been replaced with UnmanagedLongSize property of Net.Pkcs11Interop.Common.Platform class
  • PKCS#11 libraries which are not using structs packed with 1-byte alignment are now supported via LowLevelAPI40 and HighLevelAPI40 on platforms where C 'long' type is 4 bytes long and via LowLevelAPI80 and HighLevelAPI80 on platforms where C 'long' type is 8 bytes long
  • LowLevelAPI4 and HighLevelAPI4 known from previous versions support only PKCS#11 libraries which are using structs packed with 1-byte alignment on platforms where C 'long' type is 4 bytes long and therefore they have been renamed to LowLevelAPI41 and HighLevelAPI41
  • LowLevelAPI8 and HighLevelAPI8 known from previous versions support only PKCS#11 libraries which are using structs packed with 1-byte alignment on platforms where C 'long' type is 8 bytes long and therefore they have been renamed to LowLevelAPI81 and HighLevelAPI81
  • Multiplatform HighLevelAPI is now built on top of HighLevelAPI40, HighLevelAPI41, HighLevelAPI80 and HighLevelAPI81 and it automatically uses correct set of platform dependent APIs

Pkcs11Interop 2.0.2

@jariq jariq released this Mar 20, 2016 · 219 commits to master since this release

  • Fixed DecryptDigest() method in HighLevelAPI
  • Calls C_GetSlotList() only once with no slots present
  • Added CK_UNAVAILABLE_INFORMATION and CK_EFFECTIVELY_INFINITE constants

Pkcs11Interop 2.0.1

@jariq jariq released this Mar 20, 2016 · 227 commits to master since this release

  • Fixed C_GetMechanismList() delegate on Linux64
  • Throws Pkcs11Exception when C_GetFunctionList() fails
  • Unmanaged library is correctly unloaded when C_GetFunctionList() fails
  • Resolved Mac OS X detection and unmanaged library loading issues

Pkcs11Interop 2.0.0

@jariq jariq released this Mar 20, 2016 · 239 commits to master since this release

  • Fix #3: Platforms where C 'long' type is 8 bytes long (Linux x86_64) are now supported via LowLevelAPI8 and HighLevelAPI8
  • LowLevelAPI and HighLevelAPI known from previous versions of library support only platforms where C 'long' type is 4 bytes long and they have been renamed to LowLevelAPI4 and HighLevelAPI4
  • New HighLevelAPI is now built on top of HighLevelAPI4 and HighLevelAPI8 and it automatically uses correct set of platform dependent APIs
  • System.Convert is used instead of explicit type casting where appropriate
  • Pkcs11InteropException has been removed

Pkcs11Interop 1.3.0

@jariq jariq released this Mar 20, 2016 · 242 commits to master since this release

  • Supports C_GetFunctionList() on Linux and OS X
  • Supports also libraries without C_GetFunctionList()
  • GetAttributeValue() can process also List
  • Supports reading of CK_DATE attributes with an empty value
  • Correctly disposes returned SSL and WTLS key material

Pkcs11Interop 1.2.0

@jariq jariq released this Mar 20, 2016 · 252 commits to master since this release

  • Fix #4: Empty string is supported as a value of object attribute