Coder Social home page Coder Social logo

virgil-e3kit-flutter's Introduction

Virgil E3Kit Flutter

Introduction | Benefits | Features | Installation | Resources | Samples | License | Support

Introduction

Virgil Security provides Virgil E3Kit - an open-source client-side framework that allows developers to add end-to-end encryption to their messaging applications, file sharing programs, and other digital communication products in just a few simple steps to become HIPAA and GDPR compliant and more.

Benefits

  • Easy to setup and integrate into new or existing projects
  • Compatible with any CPaaS provider, including Nexmo, Firebase, Twilio, PubNub and etc.
  • Strong secret keys storage, integration with Keychain
  • Provides GDPR and HIPAA compliance
  • Immune to quantum computers attacks

Features

  • Strong one-to-one and group encryption
  • Data signature and verification as part of the encrypt and decrypt functions
  • Recoverable private encryption keys
  • Access to encrypted data from multiple user devices
  • Encryption for unregistered users

Installation

Navigate to Developer Documentation to install and initialize Virgil E3Kit.

Resources

  • E3Kit Product Page
  • E3Kit Documentation - start integrating E3Kit into your project with our detailed guides.
  • Quickstart Demo - will help you to get started with the Virgil E3Kit quickly, and to learn some common ways to build end-to-end encryption between two fictional characters Alice and Bob.

Samples

You can find the code samples for there:

Sample type
Flutter Demo

You can run the demo to see how to initialize the SDK, register users and encrypt messages using E3Kit.

License

This library is released under the 3-clause BSD License.

Support

Our developer support team is here to help you. Find out more information on our Help Center.

You can find us on Twitter or send us email [email protected].

Also, get extra help from our support team on Slack.

virgil-e3kit-flutter's People

Contributors

hscogt avatar kachan1208 avatar sergeyseroshtan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

virgil-e3kit-flutter's Issues

Having problems decrypting a string

Hello
I am using the flutter library Virgil
I am having a problem where when I try to use the decrypt method I get an exception message "can't decrypt data from user"
eg.
alice.decrypt(bobEncryptedText, identity);
Where "bobEncryptedText" is a string that did not go through an auth encrypt method. Is there another method I should call to decrypt a string?

Register method is not working in release mode

when i am running in debug mode all working fine but once it is in release mode it is throwing a following exception on register method.

Failed to register user for encryption system: PlatformException(unknown_error, Http response: 400 : Bad Request Service response: 40200 : Identity search parameter cannot be empty., null, null)

Decryption Error in Android

type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'FutureOr<Map<String, String>>'

PlatformException(-1, null cannot be cast to non-null type kotlin.String, authDecrypt, null)

I receive this when I can eThree.authDecrypt()

Fatal Crash on iOS and Android

When initializing the e3kit, I occasionally get this error which causes a fatal crash, rendering my app unusable

at com.virgilsecurity.sdk.storage.DefaultKeyStorage.exists(DefaultKeyStorage.java:118) E/AndroidRuntime(27624): at com.virgilsecurity.android.common.storage.local.LocalKeyStorage.exists$ethree_common_release(LocalKeyStorage.kt:53) E/AndroidRuntime(27624): at com.virgilsecurity.android.common.EThreeCore.initializeCore(EThreeCore.kt:196 Attempt to invoke virtual method 'boolean com.virgilsecurity.sdk.storage.DefaultKeyStorage$Entries.containsKey(java.lang.Object)' on a null object reference

This is a severe problem and needs to be addressed...

Null safety not supported

Would it be possible to migrate the lib to Dart with null safety?
I wanted to add E2EE into my project but as soon as I try to run the project with the lib integrated I get a build error:

Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:

 - package:virgil_e3kit

I took a look at lib's code and it should be relatively simple to migrate, quick help would be appreciated!

Not building for iOS on M1 Mac

I'm getting this error:

Error (Xcode): Building for iOS Simulator, but linking in dylib built for iOS, file '/Users/xxx/StudioProjects/xxx/ios/Pods/VSCCrypto/Carthage/iOS/VSCFoundation.framework/VSCFoundation' for architecture arm64

Xcode 13.1
macOS 11.6
Macbook Pro M1

Flutter 3.0.1
Dart 2.17.1
iOS 15.0 Simulator

I've tried everything I found online, some of which are:

  • Run Xcode with Rosetta
  • Exclude arm64 from build in Runner Project and Target, and Pods Project for "Any iOS Simulator SDK"
  • Set "Build Active Architecture Only" to Yes
  • Set "Validate Workspace" to Yes
  • Add "VALID_ARCHS" to User-Defined with and without arm64
  • pod install and pod update
  • Adding these to the Podfile:
post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
  installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings["ONLY_ACTIVE_ARCH"] = "YES"
      end
  end
end

None of these solve the problem, some of them generate different errors, but none of them succeed in building the app.

flutter doctor

[✓] Flutter (Channel stable, 3.0.1, on macOS 11.6 20G165 darwin-arm, locale en-BR)
    • Flutter version 3.0.1 at /Users/nizarmasri/Downloads/flutter 2
    • Upstream repository [email protected]:flutter/flutter.git
    • Framework revision fb57da5f94 (3 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nizarmasri/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = /opt/homebrew/Caskroom/android-commandlinetools
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] VS Code (version 1.67.2)
    • VS Code at /Users/nizarmasri/Downloads/VSCode-darwin-arm64/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 1CF99573-3EE8-4F2A-A63F-3136D2CEC212 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 11.6 20G165 darwin-arm
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Flutter Web Support

Hi, thanks so much for this package/service.

I wanted to know if support for Flutter Web is on the roadmap for you guys?

Kind regards,
Harry

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.