Coder Social home page Coder Social logo

Comments (9)

tholenst avatar tholenst commented on July 17, 2024 1

We are currently also in the process of moving to separate repos -- I think we didn't expect anyone to build from the old repo and hence I think we currently may only have tests with bazel on the new repo (which isn't public yet).

Sorry for the mess :( We're a little overloaded.

from tink.

morambro avatar morambro commented on July 17, 2024 1

Hi @luispadron, the new repository https://github.com/tink-crypto/tink-objc is now public. Tink Obj-C 1.7.0 is not buildable from https://github.com/google/tink (this is unideal, I agree), but tink-crypto/tink-objc@HEAD does build and it is maintained.

from tink.

tholenst avatar tholenst commented on July 17, 2024 1

If you have existing code it might also not be easy to migrate: the classes are all different. In this case, I think it is almost a must to keep using Tink ObjC. We are also hoping that in the future it might be easier for community members to help with the objective C repository.

from tink.

luispadron avatar luispadron commented on July 17, 2024

Thanks for the info! I think it might be helpful for others (especially Objective-C users) to clarify this:

I think we didn't expect anyone to build from the old repo and hence I think we currently may only have tests with bazel on the new repo (which isn't public yet).

The README of this repository states it will be maintained / functional until those replacements are available no? Regardless of the replacement, the 1.7.0 tag (before this work started, is also unbuildable)

from tink.

tholenst avatar tholenst commented on July 17, 2024

Some remarks: the ObjC version here was not buildable since at least Apr. 2020. In general while we plan to maintain the current features here in the ObjC build, Tink ObjC is vastly behind other languages. As a new user, I would consider to instead use the C++ version.

That being said, we do currently still plan to keep supporting the functionality of ObjC which we have here -- though in practice it has been hard in the past. I hope that with the splitting of the repositories it can become easier.

I also do not have information on how difficult it is to use C++ from ObjC (or e.g. Swift) directly -- so in the end, I cannot make a decision for a user how to use Tink.

From a functionality standpoint, the only thing which ObjC offers over direct usage of C++ Tink is the Keychain integration in "TINKKeysetHandle.h" (e.g. https://github.com/tink-crypto/tink-objc/blob/main/Tink/core/TINKKeysetHandle.mm#L132). However, if this is functionality you want, you want to consider tink-crypto/tink-objc#1.

C++ however offers more functionality: for example, we are working on adding an API to import and export keys in C++, and it has more primitives (such as PRFs, StreamingAeads, and soon or maybe already present, KeyDerivation). These things are unlikely to be added to ObjC Tink any time soon.

from tink.

luispadron avatar luispadron commented on July 17, 2024

Using the C++ version with Swift might be easier as of Xcode 15, we'll have to use objective-c for now though as I suspect we use the keychain API.

The objective-c repo is great, thanks for making that public! I'll check it out today and see if I can get a build.

Thanks for the information and support here!

from tink.

luispadron avatar luispadron commented on July 17, 2024

Thanks y'all for the new repository, I was able to get our app working with it by building a rules_apple apple_static_xcframework from the //Tink:objc target (our project doesn't fully use Bazel yet or we'd just use the //Tink:objc target).

I did need to make some changes to the BUILD to get this working though, I'll open a different issue or a PR in tink_objc. One thing that is now missing with the move though are the historical tags. I was looking to update to 1.7.0 (were on 1.5.0) so I'm not sure what version of Tink we'd now be using since we need to target main of tink-cc and tink-objc.

from tink.

luispadron avatar luispadron commented on July 17, 2024

PR in tink-objc with changes: tink-crypto/tink-objc#2

from tink.

rickytribbia avatar rickytribbia commented on July 17, 2024

@tholenst Have anyone an idea to how configure a sample XCode project for an iOS app that use tink-cc and tink-cc-gpckms?

I think that if for you it's difficult to maintain the obj-c version of the project and the c++ version could be more usable also in swift project could be optimal to have some tutorial and/or sample projects in c++ repo that explain how to use it in this scenario.

We've just implemented all crypto stuff using tink and tink-gcpkms in Android and it's frustrating to can't do the same in iOS.

from tink.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.