openpgp 3.10.3 copy "openpgp: ^3.10.3" to clipboard
openpgp: ^3.10.3 copied to clipboard

library for use OpenPGP with support for android and ios, macOS, linux, windows and web

example/lib/main.dart

import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

import 'package:openpgp/openpgp.dart';
import 'package:openpgp_example/encrypt_sign_decrypt_verify.dart';
import 'package:openpgp_example/encrypt_decrypt.dart';
import 'package:openpgp_example/encrypt_decrypt_bytes.dart';
import 'package:openpgp_example/encrypt_decrypt_file.dart';
import 'package:openpgp_example/encrypt_decrypt_symmetric.dart';
import 'package:openpgp_example/encrypt_decrypt_symmetric_bytes.dart';
import 'package:openpgp_example/generate.dart';
import 'package:openpgp_example/sign_verify.dart';
import 'package:openpgp_example/sign_verify_data.dart';
import 'package:openpgp_example/metadata.dart';
import 'package:openpgp_example/armor.dart';
import 'package:openpgp_example/convert.dart';
import 'package:openpgp_example/sign_verify_bytes.dart';
import 'package:openpgp_example/sign_verify_data_bytes.dart';

const passphrase = 'test';

void main() {
  if (!kIsWeb && (Platform.isLinux || Platform.isWindows)) {
    debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
  }

  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  _MyAppState createState() => _MyAppState();
}

const publicKey = '''
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: openpgp-mobile

xo0EYhESVwEEANJlqV1TdYvcKQbtMlW+L3cOIFT55YOVMfH0NMg9l0A8rSjJfir5
QL27McbEk0K4jFa0ZLM1DgFkOvw35qcIZ3YVMlBFiIeJMqRQUB/qzyGNS4cqN5Tj
TPK4zNVSjXF+Y0REA73/r9NGfG8vs7wEWOG/S6/eXomvcUQ4Htg4uMYLABEBAAHN
FHRlc3QgPHRlc3RAdGVzdC5jb20+wqgEEwEIABwFAmIRElcJEE00V8y9gx9zAhsD
AhkBAgsHAhUIAABmWAQABuX5cBVi0ZDZWdN4T0JELZF5S3Z8GUP7z8G53Mlum4ta
TUlc7qKGISEH8Rich/hxGdQsKp4llxOFS26v5lnkLBsAFTNhC1zJHW4FUpbcCagY
TxTAiAJV3GSBiCA2grWSD4BtN9XI6AdfrgUxAeWAK967vpiVTRo9NYvwV82jo0XO
jQRiERJXAQQA8KwmN+I7VBHTm3CU9oAhW3J6Ed4by6mAawf2rf9fERrOPiVKtc6h
vLFa2pl33mmVXk8C0bVEiiAP+1+QJHYPeztPN98AWGf51jGY4D2JoVtccou1469d
FoDHO+/+peO/Wrt8nvVWjvqCsmS0GQwug9NM78po7vBiWQYBXYVaJfcAEQEAAcKf
BBgBCAATBQJiERJXCRBNNFfMvYMfcwIbDAAAuq0EACbN1SNO8yCSd0lT1nxxYoA+
3x5fbzMhDABOM2gbMBUOWFsxQAEJKCYR6fA6PVZ5RV4PwyXDItkeqvXpNPFXDjo4
hXh+OPtI9VoUQF2cZTPd0sqshpF4h4FWkY6R+Hf2i4NGh/AjkEUlUf+uUHu5kXPK
TxxR3oMX+RLGBeIwCsmS
=iJPh
-----END PGP PUBLIC KEY BLOCK-----
''';
const privateKey = '''
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: openpgp-mobile

xcFGBGIRElcBBADSZaldU3WL3CkG7TJVvi93DiBU+eWDlTHx9DTIPZdAPK0oyX4q
+UC9uzHGxJNCuIxWtGSzNQ4BZDr8N+anCGd2FTJQRYiHiTKkUFAf6s8hjUuHKjeU
40zyuMzVUo1xfmNERAO9/6/TRnxvL7O8BFjhv0uv3l6Jr3FEOB7YOLjGCwARAQAB
/gcDCOIqx2h9O0HoYF+nCd6JFTiQCf4Tsnfilf+SV4ib+w6oP88A6d0BaJGss+Ui
7pI8tyH4LQ9bCNN+20dDd5AekETJ1JdzqlhR25bN0ZI5N0b1n5jywStGvFmxghJZ
hAvjR+dHP3fclhpIzH+cHAK4qlqf+At3af4DWELE68AvmUDcZcf1v1zUx6OT0f9B
hfpePxtJQwrcvsm2c06Y3Q4yF+A0iYfRii+0c6Vp4T+5Zj6WcPNxU5qr9lWelGMJ
FWNKuaqDdovqeRQWDHTl7nt5oDmNl1AdVyDduQBBPzYr1HXBLlzG4iUzA1Zv/YGk
sEXWYzCVe2IJxc4T1hr/KYNOPVQZxfknBx0ESZ4xlYFX0kg5Gi3LxA0C9Xq1LPLv
BHxvdf+fIyvJhAs9Yl/5xNDxnWl3opvYz+BsZtSzB5LsGs+BDbZLiSyetYSUEb52
+hM9Uu08kV25j5IbqbknM5k4ghxyi7quWZoPOl7a5vDa/NKj7taqUuTNFHRlc3Qg
PHRlc3RAdGVzdC5jb20+wqgEEwEIABwFAmIRElcJEE00V8y9gx9zAhsDAhkBAgsH
AhUIAABmWAQABuX5cBVi0ZDZWdN4T0JELZF5S3Z8GUP7z8G53Mlum4taTUlc7qKG
ISEH8Rich/hxGdQsKp4llxOFS26v5lnkLBsAFTNhC1zJHW4FUpbcCagYTxTAiAJV
3GSBiCA2grWSD4BtN9XI6AdfrgUxAeWAK967vpiVTRo9NYvwV82jo0XHwRgEYhES
VwEEAPCsJjfiO1QR05twlPaAIVtyehHeG8upgGsH9q3/XxEazj4lSrXOobyxWtqZ
d95plV5PAtG1RIogD/tfkCR2D3s7TzffAFhn+dYxmOA9iaFbXHKLteOvXRaAxzvv
/qXjv1q7fJ71Vo76grJktBkMLoPTTO/KaO7wYlkGAV2FWiX3ABEBAAEAA/0RFlfc
Td6ieGWKurKI0c4MfRM3o4pbqlwovTcBYYkxYLLV7LXiNJp9GCZ4ML829k4ZlQiB
NRp5qA8abM2CGTO+C9TJD2NwkMFiqf0qj3M69rM/gdeQEEy4D6/NW28gi7QMi+pg
xqkIxDkP1KYaP5pwdqSBRp4aokt83VhpUGwCwQIA8df4LCBfy7f5kqEys14lmxyT
EqkFhCWLLa7LRu2s6/IlGGqBONjkmKmtvTrGJ5D2U8d6IWlvawi0n741fZazlwIA
/sKhPI7gclYHyiqKIQqdXvcusbcZfG+Whqe0ijq7hZshD+arL6eQ5QVOEIHpjJp3
0QFPamveymQyaSnBtJzsoQIA8/jxCDCDR93oCEZjA9Aybna0Ot6N+ifcdjQQuQoR
LaaU4kKD7GoUKJ/fZk3GpekO9EKCe/dNK6er1C8cHBydP5scwp8EGAEIABMFAmIR
ElcJEE00V8y9gx9zAhsMAAC6rQQAJs3VI07zIJJ3SVPWfHFigD7fHl9vMyEMAE4z
aBswFQ5YWzFAAQkoJhHp8Do9VnlFXg/DJcMi2R6q9ek08VcOOjiFeH44+0j1WhRA
XZxlM93SyqyGkXiHgVaRjpH4d/aLg0aH8COQRSVR/65Qe7mRc8pPHFHegxf5EsYF
4jAKyZI=
=x08A
-----END PGP PRIVATE KEY BLOCK-----
''';

class _MyAppState extends State<MyApp> {
  final KeyPair _defaultKeyPair = KeyPair(publicKey, privateKey);

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('OpenPGP example app'),
        ),
        body: ListView(
          key: Key('list'),
          children: <Widget>[
            EncryptAndDecrypt(
              title: "Encrypt And Decrypt",
              keyPair: _defaultKeyPair,
              key: Key("encrypt-decrypt"),
            ),
            EncryptSignAndDecryptVerify(
              title: "EncryptSign And DecryptVerify",
              keyPair: _defaultKeyPair,
              key: Key("encrypt-sign-decrypt-verify"),
            ),
            if (false)
              EncryptAndDecryptFile(
                title: "Encrypt And Decrypt file",
                keyPair: _defaultKeyPair,
                key: Key("encrypt-decrypt-file"),
              ),
            EncryptAndDecryptBytes(
              title: "Encrypt And Decrypt Bytes",
              keyPair: _defaultKeyPair,
              key: Key("encrypt-decrypt-bytes"),
            ),
            EncryptAndDecryptSymmetric(
              title: "Encrypt And Decrypt Symmetric",
              keyPair: _defaultKeyPair,
              key: Key("encrypt-decrypt-symmetric"),
            ),
            EncryptAndDecryptSymmetricBytes(
              title: "Encrypt And Decrypt Symmetric Bytes",
              keyPair: _defaultKeyPair,
              key: Key("encrypt-decrypt-symmetric-bytes"),
            ),
            SignAndVerify(
              title: "Sign And Verify",
              keyPair: _defaultKeyPair,
              key: Key("sign-verify"),
            ),
            SignAndVerifyData(
              title: "Sign And Verify Data",
              keyPair: _defaultKeyPair,
              key: Key("sign-verify-data"),
            ),
            SignAndVerifyBytes(
              title: "Sign And Verify Bytes",
              keyPair: _defaultKeyPair,
              key: Key("sign-verify-bytes"),
            ),
            SignAndVerifyDataBytes(
              title: "Sign And Verify Data Bytes",
              keyPair: _defaultKeyPair,
              key: Key("sign-verify-data-bytes"),
            ),
            Generate(
              title: "Generate",
              key: Key("generate"),
            ),
            Convert(
              title: "Convert",
              key: Key("convert"),
              keyPair: _defaultKeyPair,
            ),
            Metadata(
              title: "Metadata",
              key: Key("metadata"),
              keyPair: _defaultKeyPair,
            ),
            Armor(
              title: "Armor",
              key: Key("armor"),
            ),
          ],
        ),
      ),
    );
  }
}
39
likes
110
points
1.75k
downloads

Publisher

verified publisherjerson.dev

Weekly Downloads

library for use OpenPGP with support for android and ios, macOS, linux, windows and web

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

ffi, flat_buffers, flutter, flutter_web_plugins, path, plugin_platform_interface, web

More

Packages that depend on openpgp