openpgp 3.9.0 copy "openpgp: ^3.9.0" to clipboard
openpgp: ^3.9.0 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"),
            ),
          ],
        ),
      ),
    );
  }
}
38
likes
110
points
1.99k
downloads

Publisher

verified publisherjerson.dev

Weekly Downloads

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

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

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

More

Packages that depend on openpgp