Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secure Cell passphrase API: ObjCThemis #609

Merged
merged 5 commits into from
Mar 27, 2020
Merged

Commits on Mar 23, 2020

  1. Passphrase API support in ObjCThemis

    Add passphrase API support for Objective-C and Swift. The new private
    subclass TSCellSealWithPassphrase implements encryption and decryption
    with passphrases while TSCellSeal provides initializers.
    
    This is not how you do class clusters in Objective-C, but unfortunately
    this is the only way to get a sane Swift API without actually writing
    Swift code. We cannot include Swift code in ObjCThemis because Swift
    lacks ABI stability and Xcode projects require a particular version of
    Swift to be set.
    
    Swift 5 supports stable ABI but we cannot do much about this while we
    have to support Swift 4 (which we will probably do until it is available
    in Xcode).
    
    Current implementation is usable as is but it is currently impossible
    for users to inherit from TSCellSealWithPassphrase. This should not be
    necessary, it seems, but there are legitimate cases when this might be
    requested (i.e., common base64-encoded encryption). We'll deal with that
    later based on user feedback. It is possible to export the private
    subclass to allow subclassing it, but initialization via TSCellSeal is
    still much more convenient.
    ilammy committed Mar 23, 2020
    Configuration menu
    Copy the full SHA
    419a1b7 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2020

  1. Configuration menu
    Copy the full SHA
    0f82553 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2020

  1. Configuration menu
    Copy the full SHA
    d44c79a View commit details
    Browse the repository at this point in the history
  2. Fix a typo

    ilammy committed Mar 26, 2020
    Configuration menu
    Copy the full SHA
    f4867da View commit details
    Browse the repository at this point in the history
  3. Remove the initWithPassphrase:usingEncoding: method

    Since it's not possible to bridge this method into Swift, let's drop it
    completely. Replace the test with the same as in Swift which checks that
    we are able to decrypt data with UTF-16BE passphrase.
    ilammy committed Mar 26, 2020
    Configuration menu
    Copy the full SHA
    7769d8a View commit details
    Browse the repository at this point in the history