From bac767d184b9120a251330242a79ed363ad854fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 7 Aug 2014 08:51:56 +0200 Subject: Edit key: prevent the combination of change to primary user id and revocation --- .../main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index 5be196a45..ae294547f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -339,6 +339,10 @@ public class EditKeyFragment extends LoaderFragment implements mSaveKeyringParcel.mRevokeUserIds.remove(userId); } else { mSaveKeyringParcel.mRevokeUserIds.add(userId); + // not possible to revoke and change to primary user id + if (mSaveKeyringParcel.mChangePrimaryUserId.equals(userId)) { + mSaveKeyringParcel.mChangePrimaryUserId = null; + } } break; } -- cgit v1.2.3 From a908c7de6707df61a1346d6206f286b067b2de37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 7 Aug 2014 10:01:42 +0200 Subject: Readd missing string --- OpenKeychain/src/main/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 09a88f4d9..1697391e6 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -28,6 +28,7 @@ Key Details Help Log + Create Key Identities -- cgit v1.2.3 From d4105420f708742fbf5a27807f6cabeb0bb02cd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 7 Aug 2014 10:01:57 +0200 Subject: Pull from transifex --- OpenKeychain/src/main/res/raw-ar/help_about.html | 50 ------- .../src/main/res/raw-ar/help_changelog.html | 156 -------------------- .../src/main/res/raw-ar/help_nfc_beam.html | 12 -- OpenKeychain/src/main/res/raw-ar/help_start.html | 22 --- OpenKeychain/src/main/res/raw-ar/help_wot.html | 17 --- .../src/main/res/raw-ar/nfc_beam_share.html | 11 -- OpenKeychain/src/main/res/raw-cs/help_about.html | 34 +++-- .../src/main/res/raw-cs/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-de/help_about.html | 34 +++-- .../src/main/res/raw-de/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-el/help_about.html | 50 ------- .../src/main/res/raw-el/help_changelog.html | 156 -------------------- .../src/main/res/raw-el/help_nfc_beam.html | 12 -- OpenKeychain/src/main/res/raw-el/help_start.html | 22 --- OpenKeychain/src/main/res/raw-el/help_wot.html | 17 --- .../src/main/res/raw-el/nfc_beam_share.html | 11 -- OpenKeychain/src/main/res/raw-es/help_about.html | 34 +++-- .../src/main/res/raw-es/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-et/help_about.html | 34 +++-- .../src/main/res/raw-et/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-fr/help_about.html | 34 +++-- .../src/main/res/raw-fr/help_changelog.html | 162 ++++++++++---------- OpenKeychain/src/main/res/raw-it/help_about.html | 34 +++-- .../src/main/res/raw-it/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-ja/help_about.html | 34 +++-- .../src/main/res/raw-ja/help_changelog.html | 46 ++++-- OpenKeychain/src/main/res/raw-ko/help_about.html | 50 ------- .../src/main/res/raw-ko/help_changelog.html | 156 -------------------- .../src/main/res/raw-ko/help_nfc_beam.html | 12 -- OpenKeychain/src/main/res/raw-ko/help_start.html | 22 --- OpenKeychain/src/main/res/raw-ko/help_wot.html | 17 --- .../src/main/res/raw-ko/nfc_beam_share.html | 11 -- OpenKeychain/src/main/res/raw-nl/help_about.html | 34 +++-- .../src/main/res/raw-nl/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-pl/help_about.html | 34 +++-- .../src/main/res/raw-pl/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-ro/help_about.html | 50 ------- .../src/main/res/raw-ro/help_changelog.html | 156 -------------------- .../src/main/res/raw-ro/help_nfc_beam.html | 12 -- OpenKeychain/src/main/res/raw-ro/help_start.html | 22 --- OpenKeychain/src/main/res/raw-ro/help_wot.html | 17 --- .../src/main/res/raw-ro/nfc_beam_share.html | 11 -- OpenKeychain/src/main/res/raw-ru/help_about.html | 34 +++-- .../src/main/res/raw-ru/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-sk/help_about.html | 50 ------- .../src/main/res/raw-sk/help_changelog.html | 156 -------------------- .../src/main/res/raw-sk/help_nfc_beam.html | 12 -- OpenKeychain/src/main/res/raw-sk/help_start.html | 22 --- OpenKeychain/src/main/res/raw-sk/help_wot.html | 17 --- .../src/main/res/raw-sk/nfc_beam_share.html | 11 -- OpenKeychain/src/main/res/raw-sl/help_about.html | 34 +++-- .../src/main/res/raw-sl/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-tr/help_about.html | 34 +++-- .../src/main/res/raw-tr/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-uk/help_about.html | 34 +++-- .../src/main/res/raw-uk/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/raw-zh/help_about.html | 34 +++-- .../src/main/res/raw-zh/help_changelog.html | 164 +++++++++++---------- OpenKeychain/src/main/res/values-ar/strings.xml | 43 ------ OpenKeychain/src/main/res/values-cs/strings.xml | 3 - OpenKeychain/src/main/res/values-de/strings.xml | 19 ++- OpenKeychain/src/main/res/values-el/strings.xml | 59 -------- OpenKeychain/src/main/res/values-es/strings.xml | 16 +- OpenKeychain/src/main/res/values-fr/strings.xml | 26 +++- OpenKeychain/src/main/res/values-it/strings.xml | 3 - OpenKeychain/src/main/res/values-ja/strings.xml | 14 +- OpenKeychain/src/main/res/values-ko/strings.xml | 43 ------ OpenKeychain/src/main/res/values-nl/strings.xml | 3 - OpenKeychain/src/main/res/values-pl/strings.xml | 3 - OpenKeychain/src/main/res/values-ro/strings.xml | 43 ------ OpenKeychain/src/main/res/values-ru/strings.xml | 3 - OpenKeychain/src/main/res/values-sk/strings.xml | 43 ------ OpenKeychain/src/main/res/values-sl/strings.xml | 3 - OpenKeychain/src/main/res/values-uk/strings.xml | 3 - OpenKeychain/src/main/res/values-zh/strings.xml | 1 - 75 files changed, 1509 insertions(+), 2811 deletions(-) delete mode 100644 OpenKeychain/src/main/res/raw-ar/help_about.html delete mode 100644 OpenKeychain/src/main/res/raw-ar/help_changelog.html delete mode 100644 OpenKeychain/src/main/res/raw-ar/help_nfc_beam.html delete mode 100644 OpenKeychain/src/main/res/raw-ar/help_start.html delete mode 100644 OpenKeychain/src/main/res/raw-ar/help_wot.html delete mode 100644 OpenKeychain/src/main/res/raw-ar/nfc_beam_share.html delete mode 100644 OpenKeychain/src/main/res/raw-el/help_about.html delete mode 100644 OpenKeychain/src/main/res/raw-el/help_changelog.html delete mode 100644 OpenKeychain/src/main/res/raw-el/help_nfc_beam.html delete mode 100644 OpenKeychain/src/main/res/raw-el/help_start.html delete mode 100644 OpenKeychain/src/main/res/raw-el/help_wot.html delete mode 100644 OpenKeychain/src/main/res/raw-el/nfc_beam_share.html delete mode 100644 OpenKeychain/src/main/res/raw-ko/help_about.html delete mode 100644 OpenKeychain/src/main/res/raw-ko/help_changelog.html delete mode 100644 OpenKeychain/src/main/res/raw-ko/help_nfc_beam.html delete mode 100644 OpenKeychain/src/main/res/raw-ko/help_start.html delete mode 100644 OpenKeychain/src/main/res/raw-ko/help_wot.html delete mode 100644 OpenKeychain/src/main/res/raw-ko/nfc_beam_share.html delete mode 100644 OpenKeychain/src/main/res/raw-ro/help_about.html delete mode 100644 OpenKeychain/src/main/res/raw-ro/help_changelog.html delete mode 100644 OpenKeychain/src/main/res/raw-ro/help_nfc_beam.html delete mode 100644 OpenKeychain/src/main/res/raw-ro/help_start.html delete mode 100644 OpenKeychain/src/main/res/raw-ro/help_wot.html delete mode 100644 OpenKeychain/src/main/res/raw-ro/nfc_beam_share.html delete mode 100644 OpenKeychain/src/main/res/raw-sk/help_about.html delete mode 100644 OpenKeychain/src/main/res/raw-sk/help_changelog.html delete mode 100644 OpenKeychain/src/main/res/raw-sk/help_nfc_beam.html delete mode 100644 OpenKeychain/src/main/res/raw-sk/help_start.html delete mode 100644 OpenKeychain/src/main/res/raw-sk/help_wot.html delete mode 100644 OpenKeychain/src/main/res/raw-sk/nfc_beam_share.html delete mode 100644 OpenKeychain/src/main/res/values-ar/strings.xml delete mode 100644 OpenKeychain/src/main/res/values-el/strings.xml delete mode 100644 OpenKeychain/src/main/res/values-ko/strings.xml delete mode 100644 OpenKeychain/src/main/res/values-ro/strings.xml delete mode 100644 OpenKeychain/src/main/res/values-sk/strings.xml (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/res/raw-ar/help_about.html b/OpenKeychain/src/main/res/raw-ar/help_about.html deleted file mode 100644 index ab3c19375..000000000 --- a/OpenKeychain/src/main/res/raw-ar/help_about.html +++ /dev/null @@ -1,50 +0,0 @@ - - - -

http://www.openkeychain.org

-

OpenKeychain is an OpenPGP implementation for Android.

-

License: GPLv3+

- -

Developers OpenKeychain

-
    -
  • Dominik Schürmann (Lead developer)
  • -
  • Ash Hughes (crypto patches)
  • -
  • Brian C. Barnes
  • -
  • Bahtiar 'kalkin' Gadimov (UI)
  • -
  • Daniel Hammann
  • -
  • Daniel Haß
  • -
  • Greg Witczak
  • -
  • Miroojin Bakshi
  • -
  • Nikhil Peter Raj
  • -
  • Paul Sarbinowski
  • -
  • Sreeram Boyapati
  • -
  • Vincent Breitmoser
  • -
  • Tim Bray
  • -
-

Developers APG 1.x

-
    -
  • Thialfihar (Lead developer)
  • -
  • 'Senecaso' (QRCode, sign key, upload key)
  • -
  • Markus Doits
  • -
-

Libraries

- - - diff --git a/OpenKeychain/src/main/res/raw-ar/help_changelog.html b/OpenKeychain/src/main/res/raw-ar/help_changelog.html deleted file mode 100644 index ebada67f9..000000000 --- a/OpenKeychain/src/main/res/raw-ar/help_changelog.html +++ /dev/null @@ -1,156 +0,0 @@ - - - -

2.7

-
    -
  • Purple! (Dominik, Vincent)
  • -
  • New key view design (Dominik, Vincent)
  • -
  • New flat Android buttons (Dominik, Vincent)
  • -
  • API fixes (Dominik)
  • -
  • Keybase.io import (Tim Bray)
  • -
-

2.6.1

-
    -
  • some fixes for regression bugs
  • -
-

2.6

-
    -
  • key certifications (thanks to Vincent Breitmoser)
  • -
  • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
  • -
  • new design for signature verification
  • -
  • custom key length (thanks to Greg Witczak)
  • -
  • fix share-functionality from other apps
  • -
-

2.5

-
    -
  • fix decryption of symmetric pgp messages/files
  • -
  • refactored edit key screen (thanks to Ash Hughes)
  • -
  • new modern design for encrypt/decrypt screens
  • -
  • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)
  • -
-

2.4

-

Thanks to all applicants of Google Summer of Code 2014 who made this release feature rich and bug free! -Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): -Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

-
    -
  • new unified key list
  • -
  • colorized key fingerprint
  • -
  • support for keyserver ports
  • -
  • deactivate possibility to generate weak keys
  • -
  • much more internal work on the API
  • -
  • certify user ids
  • -
  • keyserver query based on machine-readable output
  • -
  • lock navigation drawer on tablets
  • -
  • suggestions for emails on creation of keys
  • -
  • search in public key lists
  • -
  • and much more improvements and fixes…
  • -
-

2.3.1

-
    -
  • hotfix for crash when upgrading from old versions
  • -
-

2.3

-
    -
  • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
  • -
  • fix setting expiry dates on keys (thanks to Ash Hughes)
  • -
  • more internal fixes when editing keys (thanks to Ash Hughes)
  • -
  • querying keyservers directly from the import screen
  • -
  • fix layout and dialog style on Android 2.2-3.0
  • -
  • fix crash on keys with empty user ids
  • -
  • fix crash and empty lists when coming back from signing screen
  • -
  • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
  • -
  • fix upload of key from signing screen
  • -
-

2.2

-
    -
  • new design with navigation drawer
  • -
  • new public key list design
  • -
  • new public key view
  • -
  • bug fixes for importing of keys
  • -
  • key cross-certification (thanks to Ash Hughes)
  • -
  • handle UTF-8 passwords properly (thanks to Ash Hughes)
  • -
  • first version with new languages (thanks to the contributors on Transifex)
  • -
  • sharing of keys via QR Codes fixed and improved
  • -
  • package signature verification for API
  • -
-

2.1.1

-
    -
  • API Updates, preparation for K-9 Mail integration
  • -
-

2.1

-
    -
  • lots of bug fixes
  • -
  • new API for developers
  • -
  • PRNG bug fix by Google
  • -
-

2.0

-
    -
  • complete redesign
  • -
  • share public keys via qr codes, nfc beam
  • -
  • sign keys
  • -
  • upload keys to server
  • -
  • fixes import issues
  • -
  • new AIDL API
  • -
-

1.0.8

-
    -
  • basic keyserver support
  • -
  • app2sd
  • -
  • more choices for pass phrase cache: 1, 2, 4, 8, hours
  • -
  • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
  • -
  • bugfixes
  • -
  • optimizations
  • -
-

1.0.7

-
    -
  • fixed problem with signature verification of texts with trailing newline
  • -
  • more options for pass phrase cache time to live (20, 40, 60 mins)
  • -
-

1.0.6

-
    -
  • account adding crash on Froyo fixed
  • -
  • secure file deletion
  • -
  • option to delete key file after import
  • -
  • stream encryption/decryption (gallery, etc.)
  • -
  • new options (language, force v3 signatures)
  • -
  • interface changes
  • -
  • bugfixes
  • -
-

1.0.5

-
    -
  • German and Italian translation
  • -
  • much smaller package, due to reduced BC sources
  • -
  • new preferences GUI
  • -
  • layout adjustment for localization
  • -
  • signature bugfix
  • -
-

1.0.4

-
    -
  • fixed another crash caused by some SDK bug with query builder
  • -
-

1.0.3

-
    -
  • fixed crashes during encryption/signing and possibly key export
  • -
-

1.0.2

-
    -
  • filterable key lists
  • -
  • smarter pre-selection of encryption keys
  • -
  • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
  • -
  • fixes and additional features (key preselection) for K-9 Mail, new beta build available
  • -
-

1.0.1

-
    -
  • GMail account listing was broken in 1.0.0, fixed again
  • -
-

1.0.0

-
    -
  • K-9 Mail integration, APG supporting beta build of K-9 Mail
  • -
  • support of more file managers (including ASTRO)
  • -
  • Slovenian translation
  • -
  • new database, much faster, less memory usage
  • -
  • defined Intents and content provider for other apps
  • -
  • bugfixes
  • -
- - diff --git a/OpenKeychain/src/main/res/raw-ar/help_nfc_beam.html b/OpenKeychain/src/main/res/raw-ar/help_nfc_beam.html deleted file mode 100644 index 88492731c..000000000 --- a/OpenKeychain/src/main/res/raw-ar/help_nfc_beam.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -

How to receive keys

-
    -
  1. Go to your partners contacts and open the contact you want to share.
  2. -
  3. Hold the two devices back to back (they have to be almost touching) and you’ll feel a vibration.
  4. -
  5. After it vibrates you’ll see the content on your partners device turn into a card-like object with Star Trek warp speed-looking animation in the background.
  6. -
  7. Tap the card and the content will then load on the your device.
  8. -
- - diff --git a/OpenKeychain/src/main/res/raw-ar/help_start.html b/OpenKeychain/src/main/res/raw-ar/help_start.html deleted file mode 100644 index 51a76c01e..000000000 --- a/OpenKeychain/src/main/res/raw-ar/help_start.html +++ /dev/null @@ -1,22 +0,0 @@ - - - -

Getting started

-

First you need a personal secret key. Create one via the option menus in "Keys" or import existing secret keys. Afterwards, you can download your friends' keys or exchange them via QR Codes or NFC.

- -

It is recommended that you install OI File Manager for enhanced file selection and Barcode Scanner to scan generated QR Codes. Clicking on the links will open Google Play Store or F-Droid for installation.

- -

Applications

-

Several applications support OpenKeychain to encrypt/sign your private communication:

K-9 Mail: OpenKeychain support available in current alpha build!

Conversations
: Jabber/XMPP client

PGPAuth
: App to send a PGP-signed request to a server to open or close something, e.g. a door

- -

I found a bug in OpenKeychain!

-

Please report the bug using the issue tracker of OpenKeychain.

- -

Contribute

-

If you want to help us developing OpenKeychain by contributing code follow our small guide on Github.

- -

Translations

-

Help translating OpenKeychain! Everybody can participate at OpenKeychain on Transifex.

- - - diff --git a/OpenKeychain/src/main/res/raw-ar/help_wot.html b/OpenKeychain/src/main/res/raw-ar/help_wot.html deleted file mode 100644 index 29790139b..000000000 --- a/OpenKeychain/src/main/res/raw-ar/help_wot.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -

Web of Trust

-

The Web of Trust describes the part of PGP which deals with creation and bookkeeping of certifications. It provides mechanisms to help the user keep track of who a public key belongs to, and share this information with others; To ensure the privacy of encrypted communication, it is essential to know that the public key you encrypt to belongs to the person you think it does.

- -

Support in OpenKeychain

-

There is only basic support for Web of Trust in OpenKeychain. This is a heavy work in progress and subject to changes in upcoming releases.

- -

Trust Model

-

Trust evaluation is based on the simple assumption that all keys which have secret keys available are trusted. Public keys which contain at least one user id certified by a trusted key will be marked with a green dot in the key listings. It is not (yet) possible to specify trust levels for certificates of other known public keys.

- -

Certifying keys

-

Support for key certification is available, and user ids can be certified individually. It is not yet possible to specify the level of trust or create local and other special types of certificates.

- - - diff --git a/OpenKeychain/src/main/res/raw-ar/nfc_beam_share.html b/OpenKeychain/src/main/res/raw-ar/nfc_beam_share.html deleted file mode 100644 index 083e055c7..000000000 --- a/OpenKeychain/src/main/res/raw-ar/nfc_beam_share.html +++ /dev/null @@ -1,11 +0,0 @@ - - - -
    -
  1. Make sure that NFC is turned on in Settings > More > NFC and make sure that Android Beam is also on in the same section.
  2. -
  3. Hold the two devices back to back (they have to be almost touching) and you'll feel a vibration.
  4. -
  5. After it vibrates you'll see the content on your device turn into a card-like object with Star Trek warp speed-looking animation in the background.
  6. -
  7. Tap the card and the content will then load on the other person’s device.
  8. -
- - diff --git a/OpenKeychain/src/main/res/raw-cs/help_about.html b/OpenKeychain/src/main/res/raw-cs/help_about.html index ab3c19375..f536fecbd 100644 --- a/OpenKeychain/src/main/res/raw-cs/help_about.html +++ b/OpenKeychain/src/main/res/raw-cs/help_about.html @@ -5,27 +5,27 @@

OpenKeychain is an OpenPGP implementation for Android.

License: GPLv3+

-

Developers OpenKeychain

+

Developers

    -
  • Dominik Schürmann (Lead developer)
  • -
  • Ash Hughes (crypto patches)
  • +
  • Dominik Schürmann (Maintainer)
  • +
  • Art O Cathain
  • +
  • Ash Hughes
  • Brian C. Barnes
  • -
  • Bahtiar 'kalkin' Gadimov (UI)
  • +
  • Bahtiar 'kalkin' Gadimov
  • +
  • Daniel Albert
  • Daniel Hammann
  • Daniel Haß
  • Greg Witczak
  • +
  • 'mar-v-in'
  • +
  • Markus Doits
  • Miroojin Bakshi
  • Nikhil Peter Raj
  • Paul Sarbinowski
  • +
  • 'Senecaso'
  • Sreeram Boyapati
  • -
  • Vincent Breitmoser
  • +
  • Thialfihar (APG 1.x)
  • Tim Bray
  • -
-

Developers APG 1.x

-
    -
  • Thialfihar (Lead developer)
  • -
  • 'Senecaso' (QRCode, sign key, upload key)
  • -
  • Markus Doits
  • +
  • Vincent Breitmoser

Libraries

diff --git a/OpenKeychain/src/main/res/raw-cs/help_changelog.html b/OpenKeychain/src/main/res/raw-cs/help_changelog.html index ebada67f9..e27ac7475 100644 --- a/OpenKeychain/src/main/res/raw-cs/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-cs/help_changelog.html @@ -1,6 +1,20 @@ +

2.8

+
    +
  • So many bugs have been fixed in this release that we focus on the main new features
  • +
  • Key edit: awesome new design, key revocation
  • +
  • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
  • +
  • New first time screen
  • +
  • New create key screen: autocompletion of name and email based on your personal Android accounts
  • +
  • File encryption: awesome new design, support for encrypting multiple files
  • +
  • New icons to show status of key (by Brennan Novak)
  • +
  • Important bug fix: Importing of large key collections from a file is now possible
  • +
  • Notification showing cached passphrases
  • +
+

This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

+

2.7

  • Purple! (Dominik, Vincent)
  • @@ -11,21 +25,21 @@

2.6.1

    -
  • some fixes for regression bugs
  • +
  • Some fixes for regression bugs

2.6

    -
  • key certifications (thanks to Vincent Breitmoser)
  • -
  • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
  • -
  • new design for signature verification
  • -
  • custom key length (thanks to Greg Witczak)
  • -
  • fix share-functionality from other apps
  • +
  • Key certifications (thanks to Vincent Breitmoser)
  • +
  • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
  • +
  • New design for signature verification
  • +
  • Custom key length (thanks to Greg Witczak)
  • +
  • Fix share-functionality from other apps

2.5

    -
  • fix decryption of symmetric pgp messages/files
  • -
  • refactored edit key screen (thanks to Ash Hughes)
  • -
  • new modern design for encrypt/decrypt screens
  • +
  • Fix decryption of symmetric pgp messages/files
  • +
  • Refactored edit key screen (thanks to Ash Hughes)
  • +
  • New modern design for encrypt/decrypt screens
  • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)

2.4

@@ -33,45 +47,45 @@ Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

    -
  • new unified key list
  • -
  • colorized key fingerprint
  • -
  • support for keyserver ports
  • -
  • deactivate possibility to generate weak keys
  • -
  • much more internal work on the API
  • -
  • certify user ids
  • -
  • keyserver query based on machine-readable output
  • -
  • lock navigation drawer on tablets
  • -
  • suggestions for emails on creation of keys
  • -
  • search in public key lists
  • -
  • and much more improvements and fixes…
  • +
  • New unified key list
  • +
  • Colorized key fingerprint
  • +
  • Support for keyserver ports
  • +
  • Deactivate possibility to generate weak keys
  • +
  • Much more internal work on the API
  • +
  • Certify user ids
  • +
  • Keyserver query based on machine-readable output
  • +
  • Lock navigation drawer on tablets
  • +
  • Suggestions for emails on creation of keys
  • +
  • Search in public key lists
  • +
  • And much more improvements and fixes…

2.3.1

    -
  • hotfix for crash when upgrading from old versions
  • +
  • Hotfix for crash when upgrading from old versions

2.3

    -
  • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
  • -
  • fix setting expiry dates on keys (thanks to Ash Hughes)
  • -
  • more internal fixes when editing keys (thanks to Ash Hughes)
  • -
  • querying keyservers directly from the import screen
  • -
  • fix layout and dialog style on Android 2.2-3.0
  • -
  • fix crash on keys with empty user ids
  • -
  • fix crash and empty lists when coming back from signing screen
  • +
  • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
  • +
  • Fix setting expiry dates on keys (thanks to Ash Hughes)
  • +
  • More internal fixes when editing keys (thanks to Ash Hughes)
  • +
  • Querying keyservers directly from the import screen
  • +
  • Fix layout and dialog style on Android 2.2-3.0
  • +
  • Fix crash on keys with empty user ids
  • +
  • Fix crash and empty lists when coming back from signing screen
  • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
  • -
  • fix upload of key from signing screen
  • +
  • Fix upload of key from signing screen

2.2

    -
  • new design with navigation drawer
  • -
  • new public key list design
  • -
  • new public key view
  • -
  • bug fixes for importing of keys
  • -
  • key cross-certification (thanks to Ash Hughes)
  • -
  • handle UTF-8 passwords properly (thanks to Ash Hughes)
  • -
  • first version with new languages (thanks to the contributors on Transifex)
  • -
  • sharing of keys via QR Codes fixed and improved
  • -
  • package signature verification for API
  • +
  • New design with navigation drawer
  • +
  • New public key list design
  • +
  • New public key view
  • +
  • Bug fixes for importing of keys
  • +
  • Key cross-certification (thanks to Ash Hughes)
  • +
  • Handle UTF-8 passwords properly (thanks to Ash Hughes)
  • +
  • First version with new languages (thanks to the contributors on Transifex)
  • +
  • Sharing of keys via QR Codes fixed and improved
  • +
  • Package signature verification for API

2.1.1

    @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

2.1

    -
  • lots of bug fixes
  • -
  • new API for developers
  • +
  • Lots of bug fixes
  • +
  • New API for developers
  • PRNG bug fix by Google

2.0

    -
  • complete redesign
  • -
  • share public keys via qr codes, nfc beam
  • -
  • sign keys
  • -
  • upload keys to server
  • -
  • fixes import issues
  • -
  • new AIDL API
  • +
  • Complete redesign
  • +
  • Share public keys via qr codes, nfc beam
  • +
  • Sign keys
  • +
  • Upload keys to server
  • +
  • Fixes import issues
  • +
  • New AIDL API

1.0.8

    -
  • basic keyserver support
  • -
  • app2sd
  • -
  • more choices for pass phrase cache: 1, 2, 4, 8, hours
  • -
  • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
  • -
  • bugfixes
  • -
  • optimizations
  • +
  • Basic keyserver support
  • +
  • App2sd
  • +
  • More choices for pass phrase cache: 1, 2, 4, 8, hours
  • +
  • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
  • +
  • Bugfixes
  • +
  • Optimizations

1.0.7

    -
  • fixed problem with signature verification of texts with trailing newline
  • -
  • more options for pass phrase cache time to live (20, 40, 60 mins)
  • +
  • Fixed problem with signature verification of texts with trailing newline
  • +
  • More options for pass phrase cache time to live (20, 40, 60 mins)

1.0.6

    -
  • account adding crash on Froyo fixed
  • -
  • secure file deletion
  • -
  • option to delete key file after import
  • -
  • stream encryption/decryption (gallery, etc.)
  • -
  • new options (language, force v3 signatures)
  • -
  • interface changes
  • -
  • bugfixes
  • +
  • Account adding crash on Froyo fixed
  • +
  • Secure file deletion
  • +
  • Option to delete key file after import
  • +
  • Stream encryption/decryption (gallery, etc.)
  • +
  • New options (language, force v3 signatures)
  • +
  • Interface changes
  • +
  • Bugfixes

1.0.5

  • German and Italian translation
  • -
  • much smaller package, due to reduced BC sources
  • -
  • new preferences GUI
  • -
  • layout adjustment for localization
  • -
  • signature bugfix
  • +
  • Much smaller package, due to reduced BC sources
  • +
  • New preferences GUI
  • +
  • Layout adjustment for localization
  • +
  • Signature bugfix

1.0.4

    -
  • fixed another crash caused by some SDK bug with query builder
  • +
  • Fixed another crash caused by some SDK bug with query builder

1.0.3

    -
  • fixed crashes during encryption/signing and possibly key export
  • +
  • Fixed crashes during encryption/signing and possibly key export

1.0.2

    -
  • filterable key lists
  • -
  • smarter pre-selection of encryption keys
  • -
  • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
  • -
  • fixes and additional features (key preselection) for K-9 Mail, new beta build available
  • +
  • Filterable key lists
  • +
  • Smarter pre-selection of encryption keys
  • +
  • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
  • +
  • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

1.0.1

    @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

    1.0.0

    • K-9 Mail integration, APG supporting beta build of K-9 Mail
    • -
    • support of more file managers (including ASTRO)
    • +
    • Support of more file managers (including ASTRO)
    • Slovenian translation
    • -
    • new database, much faster, less memory usage
    • -
    • defined Intents and content provider for other apps
    • -
    • bugfixes
    • +
    • New database, much faster, less memory usage
    • +
    • Defined Intents and content provider for other apps
    • +
    • Bugfixes
    diff --git a/OpenKeychain/src/main/res/raw-de/help_about.html b/OpenKeychain/src/main/res/raw-de/help_about.html index 8eb033e9f..f5622d54a 100644 --- a/OpenKeychain/src/main/res/raw-de/help_about.html +++ b/OpenKeychain/src/main/res/raw-de/help_about.html @@ -5,27 +5,27 @@

    OpenKeychain ist eine OpenPGP-Implementierung für Android.

    Lizenz: GPLv3+

    -

    Entwickler OpenKeychain

    +

    Developers

      -
    • Dominik Schürmann (Leitender Entwickler)
    • -
    • Ash Hughes (crypto patches)
    • +
    • Dominik Schürmann (Maintainer)
    • +
    • Art O Cathain
    • +
    • Ash Hughes
    • Brian C. Barnes
    • -
    • Bahtiar 'kalkin' Gadimov (UI)
    • +
    • Bahtiar 'kalkin' Gadimov
    • +
    • Daniel Albert
    • Daniel Hammann
    • Daniel Haß
    • Greg Witczak
    • +
    • 'mar-v-in'
    • +
    • Markus Doits
    • Miroojin Bakshi
    • Nikhil Peter Raj
    • Paul Sarbinowski
    • +
    • 'Senecaso'
    • Sreeram Boyapati
    • -
    • Vincent Breitmoser
    • +
    • Thialfihar (APG 1.x)
    • Tim Bray
    • -
    -

    Entwickler APG 1.x

    -
      -
    • Thialfihar (Hauptentwickler)
    • -
    • 'Senecaso' (QR-Code, Schlüssel signieren, Schlüssel hochladen)
    • -
    • Markus Doits
    • +
    • Vincent Breitmoser

    Bibliotheken

    diff --git a/OpenKeychain/src/main/res/raw-de/help_changelog.html b/OpenKeychain/src/main/res/raw-de/help_changelog.html index d84002e80..674d9c93f 100644 --- a/OpenKeychain/src/main/res/raw-de/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-de/help_changelog.html @@ -1,6 +1,20 @@ +

    2.8

    +
      +
    • So many bugs have been fixed in this release that we focus on the main new features
    • +
    • Key edit: awesome new design, key revocation
    • +
    • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
    • +
    • New first time screen
    • +
    • New create key screen: autocompletion of name and email based on your personal Android accounts
    • +
    • File encryption: awesome new design, support for encrypting multiple files
    • +
    • New icons to show status of key (by Brennan Novak)
    • +
    • Important bug fix: Importing of large key collections from a file is now possible
    • +
    • Notification showing cached passphrases
    • +
    +

    This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

    +

    2.7

    • Lila! (Dominik, Vincent)
    • @@ -11,21 +25,21 @@

    2.6.1

      -
    • some fixes for regression bugs
    • +
    • Some fixes for regression bugs

    2.6

      -
    • Schlüsselzertifikation (Dank an Vincent Breitmoser)
    • -
    • Unterstützung für GnuPG teilweisegeheime Schlüssel (Dank an Vincent Breitmoser)
    • -
    • Neues Design für Signaturverifikation
    • -
    • Nutzerdefinierte Schlüssellänge (Dank an Greg Witczak)
    • -
    • Fehler behoben bei der Teilen-Funktion von anderen Apps
    • +
    • Key certifications (thanks to Vincent Breitmoser)
    • +
    • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
    • +
    • New design for signature verification
    • +
    • Custom key length (thanks to Greg Witczak)
    • +
    • Fix share-functionality from other apps

    2.5

      -
    • behoben: entschlüsseln von symetrischen pgp Nachrichten/Dateien
    • -
    • umgestalteter Schlüssel bearbeiten Bildschirm (Dank an Ash Hughes)
    • -
    • neues modernes Design für verschlüsselung/entschlüsselungs Bildschirme
    • +
    • Fix decryption of symmetric pgp messages/files
    • +
    • Refactored edit key screen (thanks to Ash Hughes)
    • +
    • New modern design for encrypt/decrypt screens
    • OpenPGP API Version 3 (mehrfache api accounts, interne fehlerbehebungen, schlüssel suche)

    2.4

    @@ -33,45 +47,45 @@ Neben mehreren kleinen Updates sind eine beachtliche Anzahl von Updates von den folgenden Personen gemacht worden (in alphabetischer Reihenfolge): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

      -
    • neue vereinheitlichte Schlüssel liste.
    • -
    • eingefärbte Schlüssel fingerprints
    • -
    • Unterstützung für Schlüsselserver
    • -
    • deaktiviert die Möglichkeit schwache Schlüssel zu generieren.
    • -
    • viel mehr interne Arbeit an der API
    • -
    • zertifizieren von Benutzer IDs
    • -
    • Schlüsselserver Anfragen basieren auf Maschinenlesbaren Ausgaben.
    • -
    • fixiere Navigationsmenu in Tabletcomputers
    • -
    • suggestions for emails on creation of keys
    • -
    • suchen in öffentlichen Schlüssellisten
    • -
    • und viele weitere Verbesserungen und Fehlerbehebungen...
    • +
    • New unified key list
    • +
    • Colorized key fingerprint
    • +
    • Support for keyserver ports
    • +
    • Deactivate possibility to generate weak keys
    • +
    • Much more internal work on the API
    • +
    • Certify user ids
    • +
    • Keyserver query based on machine-readable output
    • +
    • Lock navigation drawer on tablets
    • +
    • Suggestions for emails on creation of keys
    • +
    • Search in public key lists
    • +
    • And much more improvements and fixes…

    2.3.1

      -
    • schnelle Fehlerbehebung für Abstürze sobald man von einer alten Version geupdatet hat.
    • +
    • Hotfix for crash when upgrading from old versions

    2.3

      -
    • entfernung von unnötigen exporten von öffentlichen Schlüsseln, wenn man den geheimen Schlüssel exportiert. (Dank an Ash Hughes)
    • -
    • Fehlerbehebung: Einstellen des Ablaufdatums von Schlüsseln (Dank an Ash Hughes)
    • -
    • mehr interne Fehlerbehebungen wenn man Schlüssel bearbeitet (Dank an Ash Hughes)
    • -
    • Suchzugriff auf die Schlüsselserver direkt vom Importieren Bildschirm
    • -
    • Fehlerbehebung beim Layout und Dialogstil auf Android 2.2-3.0
    • -
    • Absturz bei leeren Nutzer IDs behoben
    • -
    • Fehlerbehebung von Abstürzen und leeren Listen, wenn man vom signieren Bildschirm zurückkehrt.
    • +
    • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
    • +
    • Fix setting expiry dates on keys (thanks to Ash Hughes)
    • +
    • More internal fixes when editing keys (thanks to Ash Hughes)
    • +
    • Querying keyservers directly from the import screen
    • +
    • Fix layout and dialog style on Android 2.2-3.0
    • +
    • Fix crash on keys with empty user ids
    • +
    • Fix crash and empty lists when coming back from signing screen
    • Bouncy Castle (Kryptographie Bibliothek) upgedatet von 1.47 auf 1.50 und vom Quellcode kompiliert.
    • -
    • Fehlerbehebung vom hochladen von Schlüsseln vom signieren Bildschirm.
    • +
    • Fix upload of key from signing screen

    2.2

      -
    • neues Design mit Naivgationsmenu
    • -
    • Neus Design für die Liste der öffentlichen Schlüssel
    • -
    • Neue Ansicht für öffentliche Schlüssel
    • -
    • Fehler beim Schlüsselimport behoben
    • -
    • Schlüssel Cross-Zertifizierung (Dank an Ash Hughes)
    • -
    • richtiges händling von UTF-8 Passwörtern (Danke an Ash Hughes)
    • -
    • Erste Version mit neuen Sprachen (Danke an die Mitwirkenden bei Transifex)
    • -
    • teilen von schlüsseln per QR-Codes behoben und verbessert
    • -
    • paket signatur verifizierung für die API
    • +
    • New design with navigation drawer
    • +
    • New public key list design
    • +
    • New public key view
    • +
    • Bug fixes for importing of keys
    • +
    • Key cross-certification (thanks to Ash Hughes)
    • +
    • Handle UTF-8 passwords properly (thanks to Ash Hughes)
    • +
    • First version with new languages (thanks to the contributors on Transifex)
    • +
    • Sharing of keys via QR Codes fixed and improved
    • +
    • Package signature verification for API

    2.1.1

      @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

    2.1

      -
    • Viele Fehler behoben
    • -
    • Neue API für Entwickler
    • +
    • Lots of bug fixes
    • +
    • New API for developers
    • PRNG Bugfix von Google

    2.0

      -
    • Komlett neu designd
    • -
    • Öffentliche Schlüssel teilen via QR Code, NFC Beam
    • -
    • Schlüssel signieren
    • -
    • Schlüssel auf den Server hochladen
    • -
    • Importprobleme behoben
    • -
    • neue AIDL API
    • +
    • Complete redesign
    • +
    • Share public keys via qr codes, nfc beam
    • +
    • Sign keys
    • +
    • Upload keys to server
    • +
    • Fixes import issues
    • +
    • New AIDL API

    1.0.8

      -
    • Grundlegende Schlüsselserverunterstützung
    • -
    • app2sd
    • -
    • mehr Auswahlmöglichkeiten für den Passwortcache: 1, 2, 4, 8, Stunden
    • -
    • Übersetzungen: norwegisch (Danke, Sander Danielsen), chinesisch (danke, Zhang Fredrick)
    • -
    • Fehlerbehebungen
    • -
    • Optimierungen
    • +
    • Basic keyserver support
    • +
    • App2sd
    • +
    • More choices for pass phrase cache: 1, 2, 4, 8, hours
    • +
    • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
    • +
    • Bugfixes
    • +
    • Optimizations

    1.0.7

      -
    • Fehlerbehebung bei Problemen mit der Signatur verifizierung von Texten mit folgender neuer Zeile.
    • -
    • weitere Optionen für die Time-to-live des Passphrasencaches (20, 40, 60 mins)
    • +
    • Fixed problem with signature verification of texts with trailing newline
    • +
    • More options for pass phrase cache time to live (20, 40, 60 mins)

    1.0.6

      -
    • crash beim Hinzufügen eines Kontos auf Froyo repariert
    • -
    • sichere Dateilöschung
    • -
    • Option, um Schlüsseldatei nach dem Import zu löschen
    • -
    • Streamverschlüsselung/-entschlüsselung (Galerie, etc.)
    • -
    • neue Optionen (Sprache, v3-Unterschriften erzwingen)
    • -
    • Interfaceänderungen
    • -
    • Fehlerbehebungen
    • +
    • Account adding crash on Froyo fixed
    • +
    • Secure file deletion
    • +
    • Option to delete key file after import
    • +
    • Stream encryption/decryption (gallery, etc.)
    • +
    • New options (language, force v3 signatures)
    • +
    • Interface changes
    • +
    • Bugfixes

    1.0.5

    • Deutsche und Italienische Übersetzung
    • -
    • viel kleineres Paket, dank reduzierter BC Quellen
    • -
    • Neues Einstellungs-GUI
    • -
    • Lay-Out-Anpassung für die Lokalisierung
    • -
    • Fehler bei Signatur behoben
    • +
    • Much smaller package, due to reduced BC sources
    • +
    • New preferences GUI
    • +
    • Layout adjustment for localization
    • +
    • Signature bugfix

    1.0.4

      -
    • Einen anderen crash behoben, verursacht von irgendeinen SDK bug mit dem query builder.
    • +
    • Fixed another crash caused by some SDK bug with query builder

    1.0.3

      -
    • Absturz während der Verschlüsselung/Signierung und möglicherweise Schlüsselexport behoben.
    • +
    • Fixed crashes during encryption/signing and possibly key export

    1.0.2

      -
    • Filterbare Schlüsselliste
    • -
    • leichtere vorauswahl von Verschlüsselungsschlüsseln
    • -
    • neues Intent händling für VIEW und SEND, erlaubt es Dateien zu ver-/entschlüsseln außerhalb des Dateimanagers.
    • -
    • Fehlerbehebungen und Extras (Schlüssel vorauswahl) für K-9 Mail, neue Beta Versionen verfügbar.
    • +
    • Filterable key lists
    • +
    • Smarter pre-selection of encryption keys
    • +
    • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
    • +
    • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

    1.0.1

      @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

      1.0.0

      • K-9 Mail integration, APG unterstützt beta build von K-9 Mail
      • -
      • Unterstützung von mehr Filemanagern (einschließlich ASTRO)
      • +
      • Support of more file managers (including ASTRO)
      • Slowenische Übersetzung
      • -
      • Neue Datenbank, viel schneller, weniger Speicherbedarf
      • -
      • definierte intents und content provider für andere Apps
      • -
      • Fehlerbehebungen
      • +
      • New database, much faster, less memory usage
      • +
      • Defined Intents and content provider for other apps
      • +
      • Bugfixes
      diff --git a/OpenKeychain/src/main/res/raw-el/help_about.html b/OpenKeychain/src/main/res/raw-el/help_about.html deleted file mode 100644 index ab3c19375..000000000 --- a/OpenKeychain/src/main/res/raw-el/help_about.html +++ /dev/null @@ -1,50 +0,0 @@ - - - -

      http://www.openkeychain.org

      -

      OpenKeychain is an OpenPGP implementation for Android.

      -

      License: GPLv3+

      - -

      Developers OpenKeychain

      -
        -
      • Dominik Schürmann (Lead developer)
      • -
      • Ash Hughes (crypto patches)
      • -
      • Brian C. Barnes
      • -
      • Bahtiar 'kalkin' Gadimov (UI)
      • -
      • Daniel Hammann
      • -
      • Daniel Haß
      • -
      • Greg Witczak
      • -
      • Miroojin Bakshi
      • -
      • Nikhil Peter Raj
      • -
      • Paul Sarbinowski
      • -
      • Sreeram Boyapati
      • -
      • Vincent Breitmoser
      • -
      • Tim Bray
      • -
      -

      Developers APG 1.x

      -
        -
      • Thialfihar (Lead developer)
      • -
      • 'Senecaso' (QRCode, sign key, upload key)
      • -
      • Markus Doits
      • -
      -

      Libraries

      - - - diff --git a/OpenKeychain/src/main/res/raw-el/help_changelog.html b/OpenKeychain/src/main/res/raw-el/help_changelog.html deleted file mode 100644 index ebada67f9..000000000 --- a/OpenKeychain/src/main/res/raw-el/help_changelog.html +++ /dev/null @@ -1,156 +0,0 @@ - - - -

      2.7

      -
        -
      • Purple! (Dominik, Vincent)
      • -
      • New key view design (Dominik, Vincent)
      • -
      • New flat Android buttons (Dominik, Vincent)
      • -
      • API fixes (Dominik)
      • -
      • Keybase.io import (Tim Bray)
      • -
      -

      2.6.1

      -
        -
      • some fixes for regression bugs
      • -
      -

      2.6

      -
        -
      • key certifications (thanks to Vincent Breitmoser)
      • -
      • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
      • -
      • new design for signature verification
      • -
      • custom key length (thanks to Greg Witczak)
      • -
      • fix share-functionality from other apps
      • -
      -

      2.5

      -
        -
      • fix decryption of symmetric pgp messages/files
      • -
      • refactored edit key screen (thanks to Ash Hughes)
      • -
      • new modern design for encrypt/decrypt screens
      • -
      • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)
      • -
      -

      2.4

      -

      Thanks to all applicants of Google Summer of Code 2014 who made this release feature rich and bug free! -Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): -Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

      -
        -
      • new unified key list
      • -
      • colorized key fingerprint
      • -
      • support for keyserver ports
      • -
      • deactivate possibility to generate weak keys
      • -
      • much more internal work on the API
      • -
      • certify user ids
      • -
      • keyserver query based on machine-readable output
      • -
      • lock navigation drawer on tablets
      • -
      • suggestions for emails on creation of keys
      • -
      • search in public key lists
      • -
      • and much more improvements and fixes…
      • -
      -

      2.3.1

      -
        -
      • hotfix for crash when upgrading from old versions
      • -
      -

      2.3

      -
        -
      • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
      • -
      • fix setting expiry dates on keys (thanks to Ash Hughes)
      • -
      • more internal fixes when editing keys (thanks to Ash Hughes)
      • -
      • querying keyservers directly from the import screen
      • -
      • fix layout and dialog style on Android 2.2-3.0
      • -
      • fix crash on keys with empty user ids
      • -
      • fix crash and empty lists when coming back from signing screen
      • -
      • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
      • -
      • fix upload of key from signing screen
      • -
      -

      2.2

      -
        -
      • new design with navigation drawer
      • -
      • new public key list design
      • -
      • new public key view
      • -
      • bug fixes for importing of keys
      • -
      • key cross-certification (thanks to Ash Hughes)
      • -
      • handle UTF-8 passwords properly (thanks to Ash Hughes)
      • -
      • first version with new languages (thanks to the contributors on Transifex)
      • -
      • sharing of keys via QR Codes fixed and improved
      • -
      • package signature verification for API
      • -
      -

      2.1.1

      -
        -
      • API Updates, preparation for K-9 Mail integration
      • -
      -

      2.1

      -
        -
      • lots of bug fixes
      • -
      • new API for developers
      • -
      • PRNG bug fix by Google
      • -
      -

      2.0

      -
        -
      • complete redesign
      • -
      • share public keys via qr codes, nfc beam
      • -
      • sign keys
      • -
      • upload keys to server
      • -
      • fixes import issues
      • -
      • new AIDL API
      • -
      -

      1.0.8

      -
        -
      • basic keyserver support
      • -
      • app2sd
      • -
      • more choices for pass phrase cache: 1, 2, 4, 8, hours
      • -
      • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
      • -
      • bugfixes
      • -
      • optimizations
      • -
      -

      1.0.7

      -
        -
      • fixed problem with signature verification of texts with trailing newline
      • -
      • more options for pass phrase cache time to live (20, 40, 60 mins)
      • -
      -

      1.0.6

      -
        -
      • account adding crash on Froyo fixed
      • -
      • secure file deletion
      • -
      • option to delete key file after import
      • -
      • stream encryption/decryption (gallery, etc.)
      • -
      • new options (language, force v3 signatures)
      • -
      • interface changes
      • -
      • bugfixes
      • -
      -

      1.0.5

      -
        -
      • German and Italian translation
      • -
      • much smaller package, due to reduced BC sources
      • -
      • new preferences GUI
      • -
      • layout adjustment for localization
      • -
      • signature bugfix
      • -
      -

      1.0.4

      -
        -
      • fixed another crash caused by some SDK bug with query builder
      • -
      -

      1.0.3

      -
        -
      • fixed crashes during encryption/signing and possibly key export
      • -
      -

      1.0.2

      -
        -
      • filterable key lists
      • -
      • smarter pre-selection of encryption keys
      • -
      • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
      • -
      • fixes and additional features (key preselection) for K-9 Mail, new beta build available
      • -
      -

      1.0.1

      -
        -
      • GMail account listing was broken in 1.0.0, fixed again
      • -
      -

      1.0.0

      -
        -
      • K-9 Mail integration, APG supporting beta build of K-9 Mail
      • -
      • support of more file managers (including ASTRO)
      • -
      • Slovenian translation
      • -
      • new database, much faster, less memory usage
      • -
      • defined Intents and content provider for other apps
      • -
      • bugfixes
      • -
      - - diff --git a/OpenKeychain/src/main/res/raw-el/help_nfc_beam.html b/OpenKeychain/src/main/res/raw-el/help_nfc_beam.html deleted file mode 100644 index 88492731c..000000000 --- a/OpenKeychain/src/main/res/raw-el/help_nfc_beam.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -

      How to receive keys

      -
        -
      1. Go to your partners contacts and open the contact you want to share.
      2. -
      3. Hold the two devices back to back (they have to be almost touching) and you’ll feel a vibration.
      4. -
      5. After it vibrates you’ll see the content on your partners device turn into a card-like object with Star Trek warp speed-looking animation in the background.
      6. -
      7. Tap the card and the content will then load on the your device.
      8. -
      - - diff --git a/OpenKeychain/src/main/res/raw-el/help_start.html b/OpenKeychain/src/main/res/raw-el/help_start.html deleted file mode 100644 index 51a76c01e..000000000 --- a/OpenKeychain/src/main/res/raw-el/help_start.html +++ /dev/null @@ -1,22 +0,0 @@ - - - -

      Getting started

      -

      First you need a personal secret key. Create one via the option menus in "Keys" or import existing secret keys. Afterwards, you can download your friends' keys or exchange them via QR Codes or NFC.

      - -

      It is recommended that you install OI File Manager for enhanced file selection and Barcode Scanner to scan generated QR Codes. Clicking on the links will open Google Play Store or F-Droid for installation.

      - -

      Applications

      -

      Several applications support OpenKeychain to encrypt/sign your private communication:

      K-9 Mail: OpenKeychain support available in current alpha build!

      Conversations
      : Jabber/XMPP client

      PGPAuth
      : App to send a PGP-signed request to a server to open or close something, e.g. a door

      - -

      I found a bug in OpenKeychain!

      -

      Please report the bug using the issue tracker of OpenKeychain.

      - -

      Contribute

      -

      If you want to help us developing OpenKeychain by contributing code follow our small guide on Github.

      - -

      Translations

      -

      Help translating OpenKeychain! Everybody can participate at OpenKeychain on Transifex.

      - - - diff --git a/OpenKeychain/src/main/res/raw-el/help_wot.html b/OpenKeychain/src/main/res/raw-el/help_wot.html deleted file mode 100644 index 29790139b..000000000 --- a/OpenKeychain/src/main/res/raw-el/help_wot.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -

      Web of Trust

      -

      The Web of Trust describes the part of PGP which deals with creation and bookkeeping of certifications. It provides mechanisms to help the user keep track of who a public key belongs to, and share this information with others; To ensure the privacy of encrypted communication, it is essential to know that the public key you encrypt to belongs to the person you think it does.

      - -

      Support in OpenKeychain

      -

      There is only basic support for Web of Trust in OpenKeychain. This is a heavy work in progress and subject to changes in upcoming releases.

      - -

      Trust Model

      -

      Trust evaluation is based on the simple assumption that all keys which have secret keys available are trusted. Public keys which contain at least one user id certified by a trusted key will be marked with a green dot in the key listings. It is not (yet) possible to specify trust levels for certificates of other known public keys.

      - -

      Certifying keys

      -

      Support for key certification is available, and user ids can be certified individually. It is not yet possible to specify the level of trust or create local and other special types of certificates.

      - - - diff --git a/OpenKeychain/src/main/res/raw-el/nfc_beam_share.html b/OpenKeychain/src/main/res/raw-el/nfc_beam_share.html deleted file mode 100644 index 083e055c7..000000000 --- a/OpenKeychain/src/main/res/raw-el/nfc_beam_share.html +++ /dev/null @@ -1,11 +0,0 @@ - - - -
        -
      1. Make sure that NFC is turned on in Settings > More > NFC and make sure that Android Beam is also on in the same section.
      2. -
      3. Hold the two devices back to back (they have to be almost touching) and you'll feel a vibration.
      4. -
      5. After it vibrates you'll see the content on your device turn into a card-like object with Star Trek warp speed-looking animation in the background.
      6. -
      7. Tap the card and the content will then load on the other person’s device.
      8. -
      - - diff --git a/OpenKeychain/src/main/res/raw-es/help_about.html b/OpenKeychain/src/main/res/raw-es/help_about.html index a6067c8b9..af8bc2f64 100644 --- a/OpenKeychain/src/main/res/raw-es/help_about.html +++ b/OpenKeychain/src/main/res/raw-es/help_about.html @@ -5,27 +5,27 @@

      OpenKeychain es una implementación de OpenPGP para Android.

      Licencia: GPLv3+

      -

      Desarrolladores OpenKeychain

      +

      Desarrolladores

        -
      • Dominik Schürmann (Desarrollador principal)
      • -
      • Ash Hughes (Parches cryptográficos)
      • +
      • Dominik Schürmann (Mantenedor)
      • +
      • Art O Cathain
      • +
      • Ash Hughes
      • Brian C. Barnes
      • -
      • Bahtiar 'kalkin' Gadimov (UI)
      • +
      • Bahtiar 'kalkin' Gadimov
      • +
      • Daniel Albert
      • Daniel Hammann
      • Daniel Haß
      • Greg Witczak
      • +
      • 'mar-v-in'
      • +
      • Markus Doits
      • Miroojin Bakshi
      • Nikhil Peter Raj
      • Paul Sarbinowski
      • +
      • 'Senecaso'
      • Sreeram Boyapati
      • -
      • Vincent Breitmoser
      • +
      • Thialfihar (APG 1.x)
      • Tim Bray
      • -
      -

      Desarrolladores de APG 1.x

      -
        -
      • Thialfihar (Desarrollador principal)
      • -
      • 'Senecaso' (Código QR, clave de firma, carga de clave)
      • -
      • Markus Doits
      • +
      • Vincent Breitmoser

      Librerías

      diff --git a/OpenKeychain/src/main/res/raw-es/help_changelog.html b/OpenKeychain/src/main/res/raw-es/help_changelog.html index 0cd3773a2..a6b2d269d 100644 --- a/OpenKeychain/src/main/res/raw-es/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-es/help_changelog.html @@ -1,6 +1,20 @@ +

      2.8

      +
        +
      • Se han reparado tantos fallos en esta versión que vamos a concentrarnos en las principales características nuevas
      • +
      • Edición de clave: Tremendo nuevo diseño, revocación de clave
      • +
      • Importación de clave: Impresionante nuevo diseño, conexiones seguras al servidor de claves vía hkps, el servidor de claves resuelve mediante registros DNS SRV
      • +
      • Nueva pantalla de primer inicio
      • +
      • Nueva pantalla de creación de clave: Autocompletado del nombre y correo electrónico basado en sus cuentas Android personales
      • +
      • Cifrado de fichero: Pasmante nuevo diseño, soporte para cifrar múltiples ficheros.
      • +
      • Nuevos iconos para mostrar el estado de la clave (por Brennan Novak)
      • +
      • Importante reparacion de fallo: Ahora es posible la importación de grandes colecciones de claves desde un fichero
      • +
      • Notificación que muestra las frases contraseña almacenadas en caché
      • +
      +

      Esta versión no sería posible sin el trabajo de Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

      +

      2.7

      • Purple! (Dominik, Vincent)
      • @@ -11,21 +25,21 @@

      2.6.1

        -
      • algunas reparaciones para fallos recurrentes
      • +
      • Algunas reparaciones para fallos regresivos (reaparecidos)

      2.6

        -
      • certificaciones de clave (gracias a Vincent Breitmoser)
      • -
      • soporte para claves secretas parciales de GnuPG (gracias a Vincent Breitmoser)
      • -
      • nuevo diseño para la verificación de firma
      • -
      • tamaño de clave personalizado (gracias a Greg Witczak)
      • -
      • reparada funcionalidad-compartir desde otras aplicaciones
      • +
      • Certificaciones de clave (gracias a Vincent Breitmoser)
      • +
      • Soporte para claves secretas parciales de GnuPG (gracias a Vincent Breitmoser)
      • +
      • Nuevo diseño para verificación de firma
      • +
      • Tamaño de clave personalizado (gracias a Greg Witczak)
      • +
      • Fix share-functionality from other apps

      2.5

        -
      • corregido descifrado de mensajes/ficheros con pgp simétrico
      • -
      • rediseñada la pantalla de edición de claves (gracias a Ash Hughes)
      • -
      • diseño más moderno para las pantallas de cifrado/descifrado
      • +
      • Fix decryption of symmetric pgp messages/files
      • +
      • Refactored edit key screen (thanks to Ash Hughes)
      • +
      • New modern design for encrypt/decrypt screens
      • OpenPGP API versión 3 (múltiples cuentas API, reparaciones internas, comprobación de claves)

      2.4

      @@ -33,45 +47,45 @@ Además de varios parches pequeños, un notable número de correcciones fueron hechas por las siguientes personas (en orden alfabético): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

        -
      • nueva lista unificada de claves
      • -
      • huella digital de la clave coloreada
      • -
      • compatibilidad con puertos del servidor de claves
      • -
      • desactivar la posibilidad de generar claves débiles
      • -
      • mucho más trabajo en el interior de la API
      • -
      • certificar las IDs de usuario
      • -
      • consulta al servidor de claves basadas ​​en lecturas mecánicas
      • -
      • cerrar navigation drawer en tabletas
      • -
      • sugerencias para emails en la creación de claves
      • -
      • buscar en las listas de claves públicas
      • -
      • y muchas más mejoras y correcciones...
      • +
      • New unified key list
      • +
      • Colorized key fingerprint
      • +
      • Support for keyserver ports
      • +
      • Deactivate possibility to generate weak keys
      • +
      • Much more internal work on the API
      • +
      • Certify user ids
      • +
      • Keyserver query based on machine-readable output
      • +
      • Lock navigation drawer on tablets
      • +
      • Suggestions for emails on creation of keys
      • +
      • Search in public key lists
      • +
      • And much more improvements and fixes…

      2.3.1

        -
      • corrección del fallo cuando se actualiza desde versiones anteriores
      • +
      • Hotfix for crash when upgrading from old versions

      2.3

        -
      • elimina la exportación innecesaria de claves públicas cuando se exporta la clave secreta (gracias a Ash Hughes)
      • -
      • corrige la configuración de la fecha de caducidad en las claves (gracias a Ash Hughes)
      • -
      • más correcciones internas cuando se editan claves (gracias a Ash Hughes)
      • -
      • consultar los servidores de claves directamente desde la ventana de importación
      • -
      • corrige el diseño y estilo de mensajes en Android 2.2-3.0
      • -
      • corrige error en claves con IDs de usuario vacías
      • -
      • corrige fallo y listados vacíos cuando se regresa desde la pantalla de firma
      • +
      • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
      • +
      • Fix setting expiry dates on keys (thanks to Ash Hughes)
      • +
      • More internal fixes when editing keys (thanks to Ash Hughes)
      • +
      • Querying keyservers directly from the import screen
      • +
      • Fix layout and dialog style on Android 2.2-3.0
      • +
      • Fix crash on keys with empty user ids
      • +
      • Fix crash and empty lists when coming back from signing screen
      • Bouncy Castle (librería criptográfica) actualizada de 1.47 a 1.50 y compilada desde la fuente
      • -
      • corrige la carga de la clave desde la pantalla de firma
      • +
      • Fix upload of key from signing screen

      2.2

        -
      • nuevo diseño con Navigation Drawer
      • -
      • nuevo diseño de la lista de clave pública
      • -
      • nueva vista de la clave pública
      • -
      • correcciones en la importación de claves
      • -
      • clave de certificación cruzada (gracias a Ash Hughes)
      • -
      • manejo correcto de las contraseñas UTF-8 (gracias a Ash Hughes)
      • -
      • primera versión con nuevos idiomas (gracias a los colaboradores en Transifex)
      • -
      • compartir claves a través de códigos QR corregido y mejorado
      • -
      • verificación por API del paquete de firma
      • +
      • New design with navigation drawer
      • +
      • New public key list design
      • +
      • New public key view
      • +
      • Bug fixes for importing of keys
      • +
      • Key cross-certification (thanks to Ash Hughes)
      • +
      • Handle UTF-8 passwords properly (thanks to Ash Hughes)
      • +
      • First version with new languages (thanks to the contributors on Transifex)
      • +
      • Sharing of keys via QR Codes fixed and improved
      • +
      • Package signature verification for API

      2.1.1

        @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

      2.1

        -
      • corrección de muchos bugs
      • -
      • nueva API para desarrolladores
      • +
      • Lots of bug fixes
      • +
      • New API for developers
      • corrección del bug PRNG por Google

      2.0

        -
      • completo rediseño
      • -
      • compartir claves públicas a través de códigos QR, NFC, Beam
      • -
      • claves de firma
      • -
      • cargar claves al servidor
      • -
      • corrige problemas importantes
      • -
      • nueva API AIDL
      • +
      • Complete redesign
      • +
      • Share public keys via qr codes, nfc beam
      • +
      • Sign keys
      • +
      • Upload keys to server
      • +
      • Fixes import issues
      • +
      • New AIDL API

      1.0.8

        -
      • compatibilidad básica de los servidores de claves
      • -
      • app-a-sd
      • -
      • más opciones para la caché de la frase de contraseña: 1, 2, 4, 8 horas
      • -
      • traducciones: noruego (gracias, Sander Danielsen), chino (gracias, Zhang Fredrick)
      • -
      • correcciones de errores
      • -
      • optimizaciones
      • +
      • Basic keyserver support
      • +
      • App2sd
      • +
      • More choices for pass phrase cache: 1, 2, 4, 8, hours
      • +
      • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
      • +
      • Bugfixes
      • +
      • Optimizations

      1.0.7

        -
      • corregido el problema con la verificación de firma de textos que arrastran a una nueva línea
      • -
      • más opciones para el tiempo de la caché de la frase de contraseña hasta ahora (20, 40, 60 mins)
      • +
      • Fixed problem with signature verification of texts with trailing newline
      • +
      • More options for pass phrase cache time to live (20, 40, 60 mins)

      1.0.6

        -
      • corregido el problema al añadir cuentas en Froyo
      • -
      • borrado seguro de archivo
      • -
      • opción para borrar el archivo de clave después de importarlo
      • -
      • flujo de cifrado/descifrado (galería, etc.)
      • -
      • nuevas opciones (idioma, forzar firmas v3)
      • -
      • cambios en la interfaz
      • -
      • correcciones de errores
      • +
      • Account adding crash on Froyo fixed
      • +
      • Secure file deletion
      • +
      • Option to delete key file after import
      • +
      • Stream encryption/decryption (gallery, etc.)
      • +
      • New options (language, force v3 signatures)
      • +
      • Interface changes
      • +
      • Bugfixes

      1.0.5

      • traducciones a alemán e italiano
      • -
      • paquete de mucho menos tamaño, debido a fuentes BC reducidas
      • -
      • nuevas preferencias en la GUI
      • -
      • ajuste del diseño para localización
      • -
      • corrección de error en la firma
      • +
      • Much smaller package, due to reduced BC sources
      • +
      • New preferences GUI
      • +
      • Layout adjustment for localization
      • +
      • Signature bugfix

      1.0.4

        -
      • corregido otro error causado por algún bug en el SDK con el constructor de consultas
      • +
      • Fixed another crash caused by some SDK bug with query builder

      1.0.3

        -
      • corregidos los errores durante el cifrado/firma y probablemente en la exportación de la clave
      • +
      • Fixed crashes during encryption/signing and possibly key export

      1.0.2

        -
      • listas de claves con filtro
      • -
      • preselección de claves de cifrado más inteligente
      • -
      • nuevo intento en el manejo para VER y ENVIAR, permite que los archivos sean cifrados/descifrados fuera de los gestores de archivos
      • -
      • corrige y añade características (preselección de clave) para K-9 Mail, nueva compilación disponible
      • +
      • Filterable key lists
      • +
      • Smarter pre-selection of encryption keys
      • +
      • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
      • +
      • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

      1.0.1

        @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

        1.0.0

        • integración con K-9 Mail, APG compatible con la compilación beta de K-9 Mail
        • -
        • compatibilidad para más gestores de archivos (incluyendo ASTRO)
        • +
        • Support of more file managers (including ASTRO)
        • traducción al esloveno
        • -
        • nueva base de datos, más rápida, con menos demanda de memoria
        • -
        • definidos los intentos y el proveedor de contenido para otras aplicaciones
        • -
        • correcciones de errores
        • +
        • New database, much faster, less memory usage
        • +
        • Defined Intents and content provider for other apps
        • +
        • Bugfixes
        diff --git a/OpenKeychain/src/main/res/raw-et/help_about.html b/OpenKeychain/src/main/res/raw-et/help_about.html index ab3c19375..f536fecbd 100644 --- a/OpenKeychain/src/main/res/raw-et/help_about.html +++ b/OpenKeychain/src/main/res/raw-et/help_about.html @@ -5,27 +5,27 @@

        OpenKeychain is an OpenPGP implementation for Android.

        License: GPLv3+

        -

        Developers OpenKeychain

        +

        Developers

          -
        • Dominik Schürmann (Lead developer)
        • -
        • Ash Hughes (crypto patches)
        • +
        • Dominik Schürmann (Maintainer)
        • +
        • Art O Cathain
        • +
        • Ash Hughes
        • Brian C. Barnes
        • -
        • Bahtiar 'kalkin' Gadimov (UI)
        • +
        • Bahtiar 'kalkin' Gadimov
        • +
        • Daniel Albert
        • Daniel Hammann
        • Daniel Haß
        • Greg Witczak
        • +
        • 'mar-v-in'
        • +
        • Markus Doits
        • Miroojin Bakshi
        • Nikhil Peter Raj
        • Paul Sarbinowski
        • +
        • 'Senecaso'
        • Sreeram Boyapati
        • -
        • Vincent Breitmoser
        • +
        • Thialfihar (APG 1.x)
        • Tim Bray
        • -
        -

        Developers APG 1.x

        -
          -
        • Thialfihar (Lead developer)
        • -
        • 'Senecaso' (QRCode, sign key, upload key)
        • -
        • Markus Doits
        • +
        • Vincent Breitmoser

        Libraries

        diff --git a/OpenKeychain/src/main/res/raw-et/help_changelog.html b/OpenKeychain/src/main/res/raw-et/help_changelog.html index ebada67f9..e27ac7475 100644 --- a/OpenKeychain/src/main/res/raw-et/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-et/help_changelog.html @@ -1,6 +1,20 @@ +

        2.8

        +
          +
        • So many bugs have been fixed in this release that we focus on the main new features
        • +
        • Key edit: awesome new design, key revocation
        • +
        • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
        • +
        • New first time screen
        • +
        • New create key screen: autocompletion of name and email based on your personal Android accounts
        • +
        • File encryption: awesome new design, support for encrypting multiple files
        • +
        • New icons to show status of key (by Brennan Novak)
        • +
        • Important bug fix: Importing of large key collections from a file is now possible
        • +
        • Notification showing cached passphrases
        • +
        +

        This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

        +

        2.7

        • Purple! (Dominik, Vincent)
        • @@ -11,21 +25,21 @@

        2.6.1

          -
        • some fixes for regression bugs
        • +
        • Some fixes for regression bugs

        2.6

          -
        • key certifications (thanks to Vincent Breitmoser)
        • -
        • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
        • -
        • new design for signature verification
        • -
        • custom key length (thanks to Greg Witczak)
        • -
        • fix share-functionality from other apps
        • +
        • Key certifications (thanks to Vincent Breitmoser)
        • +
        • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
        • +
        • New design for signature verification
        • +
        • Custom key length (thanks to Greg Witczak)
        • +
        • Fix share-functionality from other apps

        2.5

          -
        • fix decryption of symmetric pgp messages/files
        • -
        • refactored edit key screen (thanks to Ash Hughes)
        • -
        • new modern design for encrypt/decrypt screens
        • +
        • Fix decryption of symmetric pgp messages/files
        • +
        • Refactored edit key screen (thanks to Ash Hughes)
        • +
        • New modern design for encrypt/decrypt screens
        • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)

        2.4

        @@ -33,45 +47,45 @@ Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

          -
        • new unified key list
        • -
        • colorized key fingerprint
        • -
        • support for keyserver ports
        • -
        • deactivate possibility to generate weak keys
        • -
        • much more internal work on the API
        • -
        • certify user ids
        • -
        • keyserver query based on machine-readable output
        • -
        • lock navigation drawer on tablets
        • -
        • suggestions for emails on creation of keys
        • -
        • search in public key lists
        • -
        • and much more improvements and fixes…
        • +
        • New unified key list
        • +
        • Colorized key fingerprint
        • +
        • Support for keyserver ports
        • +
        • Deactivate possibility to generate weak keys
        • +
        • Much more internal work on the API
        • +
        • Certify user ids
        • +
        • Keyserver query based on machine-readable output
        • +
        • Lock navigation drawer on tablets
        • +
        • Suggestions for emails on creation of keys
        • +
        • Search in public key lists
        • +
        • And much more improvements and fixes…

        2.3.1

          -
        • hotfix for crash when upgrading from old versions
        • +
        • Hotfix for crash when upgrading from old versions

        2.3

          -
        • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
        • -
        • fix setting expiry dates on keys (thanks to Ash Hughes)
        • -
        • more internal fixes when editing keys (thanks to Ash Hughes)
        • -
        • querying keyservers directly from the import screen
        • -
        • fix layout and dialog style on Android 2.2-3.0
        • -
        • fix crash on keys with empty user ids
        • -
        • fix crash and empty lists when coming back from signing screen
        • +
        • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
        • +
        • Fix setting expiry dates on keys (thanks to Ash Hughes)
        • +
        • More internal fixes when editing keys (thanks to Ash Hughes)
        • +
        • Querying keyservers directly from the import screen
        • +
        • Fix layout and dialog style on Android 2.2-3.0
        • +
        • Fix crash on keys with empty user ids
        • +
        • Fix crash and empty lists when coming back from signing screen
        • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
        • -
        • fix upload of key from signing screen
        • +
        • Fix upload of key from signing screen

        2.2

          -
        • new design with navigation drawer
        • -
        • new public key list design
        • -
        • new public key view
        • -
        • bug fixes for importing of keys
        • -
        • key cross-certification (thanks to Ash Hughes)
        • -
        • handle UTF-8 passwords properly (thanks to Ash Hughes)
        • -
        • first version with new languages (thanks to the contributors on Transifex)
        • -
        • sharing of keys via QR Codes fixed and improved
        • -
        • package signature verification for API
        • +
        • New design with navigation drawer
        • +
        • New public key list design
        • +
        • New public key view
        • +
        • Bug fixes for importing of keys
        • +
        • Key cross-certification (thanks to Ash Hughes)
        • +
        • Handle UTF-8 passwords properly (thanks to Ash Hughes)
        • +
        • First version with new languages (thanks to the contributors on Transifex)
        • +
        • Sharing of keys via QR Codes fixed and improved
        • +
        • Package signature verification for API

        2.1.1

          @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

        2.1

          -
        • lots of bug fixes
        • -
        • new API for developers
        • +
        • Lots of bug fixes
        • +
        • New API for developers
        • PRNG bug fix by Google

        2.0

          -
        • complete redesign
        • -
        • share public keys via qr codes, nfc beam
        • -
        • sign keys
        • -
        • upload keys to server
        • -
        • fixes import issues
        • -
        • new AIDL API
        • +
        • Complete redesign
        • +
        • Share public keys via qr codes, nfc beam
        • +
        • Sign keys
        • +
        • Upload keys to server
        • +
        • Fixes import issues
        • +
        • New AIDL API

        1.0.8

          -
        • basic keyserver support
        • -
        • app2sd
        • -
        • more choices for pass phrase cache: 1, 2, 4, 8, hours
        • -
        • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
        • -
        • bugfixes
        • -
        • optimizations
        • +
        • Basic keyserver support
        • +
        • App2sd
        • +
        • More choices for pass phrase cache: 1, 2, 4, 8, hours
        • +
        • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
        • +
        • Bugfixes
        • +
        • Optimizations

        1.0.7

          -
        • fixed problem with signature verification of texts with trailing newline
        • -
        • more options for pass phrase cache time to live (20, 40, 60 mins)
        • +
        • Fixed problem with signature verification of texts with trailing newline
        • +
        • More options for pass phrase cache time to live (20, 40, 60 mins)

        1.0.6

          -
        • account adding crash on Froyo fixed
        • -
        • secure file deletion
        • -
        • option to delete key file after import
        • -
        • stream encryption/decryption (gallery, etc.)
        • -
        • new options (language, force v3 signatures)
        • -
        • interface changes
        • -
        • bugfixes
        • +
        • Account adding crash on Froyo fixed
        • +
        • Secure file deletion
        • +
        • Option to delete key file after import
        • +
        • Stream encryption/decryption (gallery, etc.)
        • +
        • New options (language, force v3 signatures)
        • +
        • Interface changes
        • +
        • Bugfixes

        1.0.5

        • German and Italian translation
        • -
        • much smaller package, due to reduced BC sources
        • -
        • new preferences GUI
        • -
        • layout adjustment for localization
        • -
        • signature bugfix
        • +
        • Much smaller package, due to reduced BC sources
        • +
        • New preferences GUI
        • +
        • Layout adjustment for localization
        • +
        • Signature bugfix

        1.0.4

          -
        • fixed another crash caused by some SDK bug with query builder
        • +
        • Fixed another crash caused by some SDK bug with query builder

        1.0.3

          -
        • fixed crashes during encryption/signing and possibly key export
        • +
        • Fixed crashes during encryption/signing and possibly key export

        1.0.2

          -
        • filterable key lists
        • -
        • smarter pre-selection of encryption keys
        • -
        • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
        • -
        • fixes and additional features (key preselection) for K-9 Mail, new beta build available
        • +
        • Filterable key lists
        • +
        • Smarter pre-selection of encryption keys
        • +
        • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
        • +
        • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

        1.0.1

          @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

          1.0.0

          • K-9 Mail integration, APG supporting beta build of K-9 Mail
          • -
          • support of more file managers (including ASTRO)
          • +
          • Support of more file managers (including ASTRO)
          • Slovenian translation
          • -
          • new database, much faster, less memory usage
          • -
          • defined Intents and content provider for other apps
          • -
          • bugfixes
          • +
          • New database, much faster, less memory usage
          • +
          • Defined Intents and content provider for other apps
          • +
          • Bugfixes
          diff --git a/OpenKeychain/src/main/res/raw-fr/help_about.html b/OpenKeychain/src/main/res/raw-fr/help_about.html index 351bdc8f4..828e2f31c 100644 --- a/OpenKeychain/src/main/res/raw-fr/help_about.html +++ b/OpenKeychain/src/main/res/raw-fr/help_about.html @@ -5,27 +5,27 @@

          OpenKeychain est une implémentation d'OpenPGP pour Android.

          Licence : GPLv3+

          -

          Les développeurs d'OpenKeychain

          +

          Développeurs

            -
          • Dominik Schürmann (développeur principal)
          • -
          • Ash Hughes (correctif crypto)
          • +
          • Dominik Schürmann (mainteneur)
          • +
          • Art O Cathain
          • +
          • Ash Hughes
          • Brian C. Barnes
          • -
          • Bahtiar « kalkin » Gadimov (interface utilisateur)
          • +
          • Bahtiar « kalkin » Gadimov
          • +
          • Daniel Albert
          • Daniel Hammann
          • Daniel Haß
          • Greg Witczak
          • +
          • « mar-v-in »
          • +
          • Markus Doits
          • Miroojin Bakshi
          • Nikhil Peter Raj
          • Paul Sarbinowski
          • +
          • « 'Senecaso »
          • Sreeram Boyapati
          • -
          • Vincent Breitmoser
          • +
          • Thialfihar (APG 1.x)
          • Tim Bray
          • -
          -

          Les développeurs d'APG 1.x

          -
            -
          • Thialfihar (développeur principal)
          • -
          • « Senecaso » (Code QR, signer/téléverser la clef)
          • -
          • Markus Doits
          • +
          • Vincent Breitmoser

          Bibliothèques

          diff --git a/OpenKeychain/src/main/res/raw-fr/help_changelog.html b/OpenKeychain/src/main/res/raw-fr/help_changelog.html index 82486cdcc..43618398d 100644 --- a/OpenKeychain/src/main/res/raw-fr/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-fr/help_changelog.html @@ -1,6 +1,20 @@ +

          2.8

          +
            +
          • Tellement de bogues ont été réglés dans cette version que nous nous concentrons sur les nouvelles caractéristiques principales.
          • +
          • Modification des clefs : nouvelle et superbe conception, révocations des clefs
          • +
          • Importation des clefs : nouvelle et superbe conception, connexion sécurisé aux serveurs de clefs par hkps, résolution des serveurs de clefs par transactions DNS SRV
          • +
          • Nouvel écran de premier lancement
          • +
          • Nouvel écran de création de clef : autoremplissage du nom et du courriel d'après vos coordonnées Android
          • +
          • Chiffrement des fichiers : nouvelle et superbe conception, prise en charge du chiffrement de fichiers multiples
          • +
          • Nouvelles icônes d'état des clefs (par Brennan Novak)
          • +
          • Correctif important de bogue : l'importation de grandes collections de clefs à partir d'un fichier est maintenant possible
          • +
          • Notification montrant les phrases de passe en cache
          • +
          +

          Cette version ne serait pas possible sans le travail de Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

          +

          2.7

          • Violet ! (Dominik, Vincent)
          • @@ -11,21 +25,21 @@

          2.6.1

            -
          • quelques correctifs de bogues de régression
          • +
          • Quelques correctifs de bogues de régression

          2.6

            -
          • certifications des clefs (merci à Vincent Breitmoser)
          • -
          • prise en charge des clefs secrètes partielles de GnuPG (merci à Vincent Breitmoser)
          • -
          • nouvelle conception de la vérification des signatures
          • -
          • longueur de clef personnalisée (merci à Greg Witczak)
          • -
          • correction de la fonctionnalité partagée avec d'autres applis
          • +
          • Certifications des clefs (merci à Vincent Breitmoser)
          • +
          • Prise en charge clefs secrètes partielles de GnuPG (merci à Vincent Breitmoser)
          • +
          • Nouvelle conception de la vérification de signatures
          • +
          • Longueur de clef personnalisée (merci à Greg Witczak)
          • +
          • Correctif - fonctionnalités partagées d'autres applis

          2.5

            -
          • corrige le déchiffrement des messages/fichiers pgp symétriques
          • -
          • écran réusiné de modification des clefs (merci à Ash Hughes)
          • -
          • nouveau style moderne des écrans de chiffrement/déchiffrement
          • +
          • Correctif - déchiffrement de messages/fichiers pgp symétriques
          • +
          • Nouvel mouture de l'écran de modification des clefs (merci à Ash Hughes)
          • +
          • Nouvelle conception moderne pour les écrans de chiffrement/déchiffrement
          • API OpenPGP version 3 (comptes multiples d'api, correctifs internes, recherche de clefs)

          2.4

          @@ -34,44 +48,44 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

          • Nouvelle liste de clefs unifiée
          • -
          • empreinte de clef colorée
          • -
          • prise en charge des ports du serveur de clefs
          • -
          • désactiver la possibilité de générer des clefs faibles
          • -
          • bien plus de travail interne sur l'API
          • -
          • certifier les ID d'utilisateurs
          • -
          • requête du serveur de clef basée sur une sortie lisible par la machine
          • -
          • verrouiller le tiroir de navigation sur les tablettes
          • -
          • suggestions de courriels à la création des clefs
          • -
          • recherche dans les listes de clefs publiques
          • -
          • et bien plus d'améliorations et de correctifs...
          • +
          • Empreintes de clefs colorées
          • +
          • Prise en charge des ports des serveurs de clefs
          • +
          • Désactiver la possibilité de générer des clefs faibles
          • +
          • Encore plus de travail interne dans l'API
          • +
          • Certifier les ID d'utilisateurs
          • +
          • Requêtes des serveurs de clefs basées sur des sorties assimilables par la machine
          • +
          • Verrouiller les tiroirs de navigation sur les tablettes
          • +
          • Suggestion de courriels à la création de clefs
          • +
          • Rechercher dans les listes de clefs publiques
          • +
          • Et bien plus d'améliorations et de correctifs

          2.3.1

            -
          • correctif de plantage lors de la mise à niveau des anciennes versions
          • +
          • Correctif d'urgence pour le plantage lors de la mise à niveau à partir d'anciennes versions

          2.3

            -
          • supprimer l'exportation non nécessaire des clefs publiques lors de l'exportation d'une clef secrète
          • -
          • correctif de définition de la date date de péremption des clefs (merci à Ash Hughes)
          • -
          • autres correctifs internes affectant la modifications des clefs (merci à Ash hughes)
          • -
          • interrogation des serveurs de clefs directement depuis l'écran d'importation
          • -
          • correctif de mise en page et du style des fenêtres de dialogue sur Android 2.2-3.0
          • -
          • corriger un plantage pour les clefs avec des ID d'utilisateurs vides
          • -
          • corrige un plantage et des listes vides en revenant de l'écran de signature
          • +
          • Suppressions de l'exportation non nécessaire des clefs publiques lors de l'exportation de clefs secrètes (merci à Ash Hughes)
          • +
          • Correctif - définition de la date de péremption des clefs (merci à Ash Hughes)
          • +
          • Plus de correctifs internes affectant la modifications des clefs (merci à Ash hughes)
          • +
          • Interrogation des serveurs de clefs directement depuis l'écran d'importation
          • +
          • Correctif - mise en page et du style des fenêtres de dialogue sur Android 2.2-3.0
          • +
          • Correctif - plantage pour les clefs avec des ID d'utilisateur vides
          • +
          • Correctif - plantage et listes vides en revenant de l'écran de signature
          • Bouncy Castle (bibliothèque cryptographique) mise à jour de 1.47 à 1.50 et compilée depuis la source
          • -
          • correction du téléversement d'une clef depuis l'écran de signature
          • +
          • Correctif - téléversement d'une clef depuis l'écran de signature

          2.2

            -
          • nouvelle conception avec tiroir de navigation
          • -
          • nouveau style de liste des clefs publics
          • -
          • nouvel affichage des clefs publics
          • -
          • correctif de bogues d'importation de clefs
          • -
          • certification croisée des clefs (merci à Ash Hughes)
          • -
          • bonne gestion des mots de passe UTF-8 (merci à Ash Hughes)
          • -
          • première version avec de nouvelles langues (merci aux contributeurs sur Transifex)
          • -
          • correctif et amélioration du partage des clefs par codes QR
          • -
          • vérification de la signature des paquets pour l'API
          • +
          • Nouvelle conception avec tiroir de navigation
          • +
          • Nouvelle conception de la liste des clefs publics
          • +
          • Nouvelle vue des clefs publics
          • +
          • Correctif de bogues d'importation de clefs
          • +
          • Certification croisée des clefs (merci à Ash Hughes)
          • +
          • Bonne gestion des mots de passe UTF-8 (merci à Ash Hughes)
          • +
          • Première version avec de nouvelles langues (merci aux contributeurs sur Transifex)
          • +
          • Correctif et amélioration du partage de clefs par codes QR
          • +
          • Vérification de la signature des paquets pour l'API

          2.1.1

            @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

          2.1

            -
          • beaucoup de bogues corrigés
          • -
          • nouvelle API pour les développeurs
          • +
          • Beaucoup de bogues corrigés
          • +
          • Nouvelle API pour les développeurs
          • Correctif du blogue PRNG par Google

          2.0

            -
          • conception complètement repensée
          • -
          • partage de clefs publiques par codes QR, faisceau NFC
          • -
          • signer les clefs
          • -
          • téléverser les clefs vers le serveur
          • -
          • corrige les problèmes d'importation
          • -
          • nouvelle API AIDL
          • +
          • Conception complètement repensée
          • +
          • Partage de clefs publiques par codes QR, faisceau NFC
          • +
          • Signer les clefs
          • +
          • Téléverser les clefs vers le serveur
          • +
          • Corrige des problèmes d'importation
          • +
          • Nouvelle API AIDL

          1.0.8

            -
          • prise en charge de base du serveur de clef
          • -
          • app2sd
          • -
          • plus de choix pour le cache de phrase de passe : 1, 2, 4, 8 heures
          • -
          • traductions : norvégien (merci Sander Danielsen), chinois (merci Zhang Fredrick)
          • -
          • correctifs de bogues
          • -
          • optimisations
          • +
          • Prise en charge de base du serveur de clefs
          • +
          • App2sd
          • +
          • Plus de choix pour le cache des phrases de passe : 1, 2, 4, 8 heures
          • +
          • Traductions : norvégien (merci Sander Danielsen), chinois (merci Zhang Fredrick)
          • +
          • Correctifs de bogues
          • +
          • Optimisations

          1.0.7

            -
          • problème corrigé avec la vérification de la signature des textes se terminant par un retour à la ligne
          • -
          • plus de choix pour la durée de vie de la phrase de passe : (20, 40, 60 min)
          • +
          • Problème corrigé avec la vérification de la signature des textes se terminant par un retour à la ligne
          • +
          • Plus de choix pour la durée de vie de la phrase de passe : (20, 40, 60 min)

          1.0.6

            -
          • correction de l'ajout de compte sur Froyo
          • -
          • suppression sécurisée de fichiers
          • -
          • option de suppression du fichier de clef après l'importation
          • -
          • chiffrement/déchiffrement de flux (galerie, etc.)
          • -
          • nouvelles options (langue, forcer les signatures v3)
          • -
          • changements dans l'interface
          • -
          • correctifs de bogues
          • +
          • Correctif - plantage lors de l'ajout de compte sur Froyo
          • +
          • Suppression sécurisée de fichiers
          • +
          • Option de suppression du fichier de clef après l'importation
          • +
          • Chiffrement/déchiffrement de flux (galerie, etc.)
          • +
          • Nouvelles options (langue, forcer les signatures v3)
          • +
          • Changements dans l'interface
          • +
          • Correctifs de bogues

          1.0.5

          • Traduction allemande et italienne
          • -
          • paquet beaucoup plus petit grâce à des sources BC réduites
          • -
          • nouvelle interface utilisateur pour les paramètres
          • -
          • ajustement de la mise en page pour les localisations
          • -
          • correctif d'un bogue de signature
          • +
          • Paquet beaucoup plus petit grâce à des sources BC réduites
          • +
          • Nouvelle IUG pour les préférences
          • +
          • Ajustement de la mise en page pour les localisations
          • +
          • Correctif de bogue de signature

          1.0.4

            -
          • correction d'un autre plantage causé par quelque bogue SDK avec le constructeur de requêtes
          • +
          • Correction d'un autre plantage causé par quelque bogue SDK avec le constructeur de requêtes

          1.0.3

            -
          • corrections de plantages durant le chiffrement/la signature et aussi peut-être l'exportation de clef
          • +
          • Corrections de plantages durant le chiffrement/la signature et possiblement l'exportation de clefs

          1.0.2

            -
          • listes de clefs filtrables
          • -
          • présélection plus intelligente des clefs de chiffrement
          • -
          • nouvelle gestion des intentions pour VIEW et SEND, permet le chiffrement/déchiffrement des fichiers depuis les gestionnaires de fichiers
          • -
          • correctifs et fonctions additionnelles (présélection des clefs) pour K-9-Mail, nouvelle version bêta disponible.
          • +
          • Listes de clefs filtrables
          • +
          • Présélection plus intelligente des clefs de chiffrement
          • +
          • Nouvelle gestion des intentions pour VIEW et SEND, permet le chiffrement/déchiffrement des fichiers depuis les gestionnaires de fichiers
          • +
          • Correctifs et fonctions additionnelles (présélection des clefs) pour K-9-Mail, nouvelle version bêta disponible

          1.0.1

            @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

            1.0.0

            • Intégration à K-9 Mail, APG prenant en charge la version bêta de K-9 Mail
            • -
            • prise en charge de plus de gestionnaires de fichiers (incluant ASTRO)
            • +
            • Prise en charge de plus de gestionnaires de fichiers (incluant ASTRO)
            • Traduction slovène
            • -
            • nouvelle base de données, bien plus rapide, utilisation de la mémoire moindre
            • -
            • intentions définies et fournisseur de contenu pour d'autres applis
            • -
            • correctifs de bogues
            • +
            • Nouvelle base de données, bien plus rapide, utilisation de la mémoire moindre
            • +
            • Intentions définies et fournisseur de contenu pour d'autres applis
            • +
            • Correctifs de bogues
            diff --git a/OpenKeychain/src/main/res/raw-it/help_about.html b/OpenKeychain/src/main/res/raw-it/help_about.html index 4c8c0af07..e26c8e246 100644 --- a/OpenKeychain/src/main/res/raw-it/help_about.html +++ b/OpenKeychain/src/main/res/raw-it/help_about.html @@ -5,27 +5,27 @@

            OpenKeychain un implementazione OpenPGP per Android.

            Licenza: GPLv3+

            -

            Sviluppatori OpenKeychain

            +

            Developers

              -
            • Dominik Schürmann (Capo Sviluppatore)
            • -
            • Ash Hughes (Patch crittografia)
            • +
            • Dominik Schürmann (Maintainer)
            • +
            • Art O Cathain
            • +
            • Ash Hughes
            • Brian C. Barnes
            • -
            • Bahtiar 'kalkin' Gadimov (Interfaccia Utente)
            • +
            • Bahtiar 'kalkin' Gadimov
            • +
            • Daniel Albert
            • Daniel Hammann
            • Daniel Haß
            • Greg Witczak
            • +
            • 'mar-v-in'
            • +
            • Markus Doits
            • Miroojin Bakshi
            • Nikhil Peter Raj
            • Paul Sarbinowski
            • +
            • 'Senecaso'
            • Sreeram Boyapati
            • -
            • Vincent Breitmoser
            • +
            • Thialfihar (APG 1.x)
            • Tim Bray
            • -
            -

            Sviluppatori APG 1.x

            -
              -
            • Thialfihar (Capo Sviluppatore)
            • -
            • 'Senecaso' (QRCode, firma chiavi, caricamento chiavi)
            • -
            • Markus Doits
            • +
            • Vincent Breitmoser

            Librerie

            diff --git a/OpenKeychain/src/main/res/raw-it/help_changelog.html b/OpenKeychain/src/main/res/raw-it/help_changelog.html index ee6a56e15..6b39c43c0 100644 --- a/OpenKeychain/src/main/res/raw-it/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-it/help_changelog.html @@ -1,6 +1,20 @@ +

            2.8

            +
              +
            • So many bugs have been fixed in this release that we focus on the main new features
            • +
            • Key edit: awesome new design, key revocation
            • +
            • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
            • +
            • New first time screen
            • +
            • New create key screen: autocompletion of name and email based on your personal Android accounts
            • +
            • File encryption: awesome new design, support for encrypting multiple files
            • +
            • New icons to show status of key (by Brennan Novak)
            • +
            • Important bug fix: Importing of large key collections from a file is now possible
            • +
            • Notification showing cached passphrases
            • +
            +

            This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

            +

            2.7

            • Porpora! (Dominik, Vincent)
            • @@ -11,21 +25,21 @@

            2.6.1

              -
            • alcune correzioni per i bug di regressione
            • +
            • Some fixes for regression bugs

            2.6

              -
            • certificazioni chiave (grazie a Vincent Breitmoser)
            • -
            • supporto per chiavi segrete parziali GnuPG (grazie a Vincent Breitmoser)
            • -
            • nuovo design per la verifica della firma
            • -
            • lunghezza chiave personalizzata (grazie a Greg Witczak)
            • -
            • fix funzionalità di condivisione da altre app
            • +
            • Key certifications (thanks to Vincent Breitmoser)
            • +
            • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
            • +
            • New design for signature verification
            • +
            • Custom key length (thanks to Greg Witczak)
            • +
            • Fix share-functionality from other apps

            2.5

              -
            • Corretta la decodifica di messaggi PGP / file simmetrici
            • -
            • Refactoring della schermata di modifica chiave (grazie a Ash Hughes)
            • -
            • nuovo design moderno per le schermate di codifica / decodifica
            • +
            • Fix decryption of symmetric pgp messages/files
            • +
            • Refactored edit key screen (thanks to Ash Hughes)
            • +
            • New modern design for encrypt/decrypt screens
            • OpenPGP API versione 3 (api account multipli, correzioni interne, ricerca chiavi)

            2.4

            @@ -33,45 +47,45 @@ Oltre a numerose piccole correzioni, un notevole numero di patch sono state fatte dalle seguenti persone (in ordine alfabetico): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paolo Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

              -
            • nuova lista chiave unificata
            • -
            • impronta chiave colorata
            • -
            • supporto per porte
            • -
            • disattiva la possibilità di generare chiavi deboli
            • -
            • molto più lavoro interno sulle API
            • -
            • certificazione ID utente
            • -
            • interrogazione keyserver basate su output leggibile a livello macchina
            • -
            • blocco del menu di navigazione sui tablet
            • -
            • suggerimenti per e-mail sulla creazione di chiavi
            • -
            • ricerca nelle liste di chiavi pubbliche
            • -
            • e molti altri miglioramenti e correzioni ...
            • +
            • New unified key list
            • +
            • Colorized key fingerprint
            • +
            • Support for keyserver ports
            • +
            • Deactivate possibility to generate weak keys
            • +
            • Much more internal work on the API
            • +
            • Certify user ids
            • +
            • Keyserver query based on machine-readable output
            • +
            • Lock navigation drawer on tablets
            • +
            • Suggestions for emails on creation of keys
            • +
            • Search in public key lists
            • +
            • And much more improvements and fixes…

            2.3.1

              -
            • correzione del crash quando si aggiorna da versioni precedenti
            • +
            • Hotfix for crash when upgrading from old versions

            2.3

              -
            • rimossa esportazione non necessaria delle chiavi pubbliche quando si esportano le chiavi private (grazie a Ash Hughes)
            • -
            • corretto impostazione data di scadenza delle chiavi (grazie a Ash Hughes)
            • -
            • altre correzioni interne quando si modificano le chiavi (grazie a Ash Hughes)
            • -
            • interrogazione server delle chiavi direttamente dalla schermata di importazione
            • -
            • corretto layout e dialog style su Android 2.2-3.0
            • -
            • corretto crash su chiavi con id utente vuoto
            • -
            • corretto crash e liste vuote quando si torna dalla schermata di firma
            • +
            • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
            • +
            • Fix setting expiry dates on keys (thanks to Ash Hughes)
            • +
            • More internal fixes when editing keys (thanks to Ash Hughes)
            • +
            • Querying keyservers directly from the import screen
            • +
            • Fix layout and dialog style on Android 2.2-3.0
            • +
            • Fix crash on keys with empty user ids
            • +
            • Fix crash and empty lists when coming back from signing screen
            • Bouncy Castle (libreria crittografica) aggiornata da 1.47 a 1.50 e compilata da sorgente
            • -
            • corretto upload delle chiavi dalla schermata di firma
            • +
            • Fix upload of key from signing screen

            2.2

              -
            • nuovo design con drawer di navigazione
            • -
            • nuovo design per la lista chiavi pubbliche
            • -
            • nuova visuale chiavi pubbliche
            • -
            • correzione bug per importazione chiavi
            • -
            • Chiave certificazione incrociata (grazie a Ash Hughes)
            • -
            • password UTF-8 gestite correttamente (grazie a Ash Hughes)
            • -
            • Prima versione con nuove lingue (grazie ai contributori su Transifex)
            • -
            • condivisione di chiavi via Codici QR corretta e migliorata
            • -
            • Verifica firma pacchetto per API
            • +
            • New design with navigation drawer
            • +
            • New public key list design
            • +
            • New public key view
            • +
            • Bug fixes for importing of keys
            • +
            • Key cross-certification (thanks to Ash Hughes)
            • +
            • Handle UTF-8 passwords properly (thanks to Ash Hughes)
            • +
            • First version with new languages (thanks to the contributors on Transifex)
            • +
            • Sharing of keys via QR Codes fixed and improved
            • +
            • Package signature verification for API

            2.1.1

              @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

            2.1

              -
            • molte correzioni di bug
            • -
            • nuove API per sviluppatori
            • +
            • Lots of bug fixes
            • +
            • New API for developers
            • PRNG bug fix by Google

            2.0

              -
            • completo restyle
            • -
            • condivisione chiavi pubbliche via codici qr, nfc beam
            • -
            • firma chiavi
            • -
            • Carica chiavi sul server
            • -
            • corrette caratteristiche di importazione
            • -
            • nuova AIDL API
            • +
            • Complete redesign
            • +
            • Share public keys via qr codes, nfc beam
            • +
            • Sign keys
            • +
            • Upload keys to server
            • +
            • Fixes import issues
            • +
            • New AIDL API

            1.0.8

              -
            • supporto base per server delle chiavi
            • -
            • app2sd
            • -
            • Aggiunte opzioni per la cache della frase di accesso: 1, 2, 4, 8 ore
            • -
            • Traduzioni: Norvegese (grazie, Sander Danielsen), Cinese (grazie, Zhang Fredrick)
            • -
            • correzione bug
            • -
            • ottimizzazioni
            • +
            • Basic keyserver support
            • +
            • App2sd
            • +
            • More choices for pass phrase cache: 1, 2, 4, 8, hours
            • +
            • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
            • +
            • Bugfixes
            • +
            • Optimizations

            1.0.7

              -
            • corretto problema con la verifica firma di testi con capo finale
            • -
            • maggiori opzioni per il tempo di mantenimento della cache della frase di accesso (20, 40, 60 minuti)
            • +
            • Fixed problem with signature verification of texts with trailing newline
            • +
            • More options for pass phrase cache time to live (20, 40, 60 mins)

            1.0.6

              -
            • crash della aggiunta degli account risolto su Froyo
            • -
            • Cancellazione sicura dei file
            • -
            • opzione per cancellare file delle chiavi dopo l'importazione
            • -
            • flusso codifica/decodifica (galleria, ecc.)
            • -
            • nuove opzioni (lingua, forza firme v3)
            • -
            • cambiamenti interfaccia
            • -
            • correzione bug
            • +
            • Account adding crash on Froyo fixed
            • +
            • Secure file deletion
            • +
            • Option to delete key file after import
            • +
            • Stream encryption/decryption (gallery, etc.)
            • +
            • New options (language, force v3 signatures)
            • +
            • Interface changes
            • +
            • Bugfixes

            1.0.5

            • Traduzione Italiana e Tedesca
            • -
            • dimensioni pacchetto ridotte, a causa della riduzione dei sorgenti BC
            • -
            • Nuove preferenze GUI
            • -
            • Regolazione layout per la localizzazione
            • -
            • correzione bug firma
            • +
            • Much smaller package, due to reduced BC sources
            • +
            • New preferences GUI
            • +
            • Layout adjustment for localization
            • +
            • Signature bugfix

            1.0.4

              -
            • corretto altro crash causato da alcuni bug SDK con query builder
            • +
            • Fixed another crash caused by some SDK bug with query builder

            1.0.3

              -
            • corretto crash durante codifica/firma e possibilita' di esportare chiave
            • +
            • Fixed crashes during encryption/signing and possibly key export

            1.0.2

              -
            • liste chiavi filtrabili
            • -
            • preselezione di chiavi di codifica intelligente
            • -
            • nuovo gestore intent per VIEW e SEND, permette la codifica/decodifica file all'infuori di file manager
            • -
            • caratteristiche corrette e aggiunte (preselezione chiavi) per K-9 Mail. nuova build beta disponibile
            • +
            • Filterable key lists
            • +
            • Smarter pre-selection of encryption keys
            • +
            • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
            • +
            • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

            1.0.1

              @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

              1.0.0

              • integrazione K-9 Mail, APG supporto beta build di K-9 Mail
              • -
              • supporto per altri file manager (incluso ASTRO)
              • +
              • Support of more file managers (including ASTRO)
              • traduzione Slovena
              • -
              • Nuovo database, piu' veloce, utilizzo memoria ridotto
              • -
              • Definiti Intent e ContentProvider per le altre app
              • -
              • correzione bug
              • +
              • New database, much faster, less memory usage
              • +
              • Defined Intents and content provider for other apps
              • +
              • Bugfixes
              diff --git a/OpenKeychain/src/main/res/raw-ja/help_about.html b/OpenKeychain/src/main/res/raw-ja/help_about.html index a4670e103..834d9f6de 100644 --- a/OpenKeychain/src/main/res/raw-ja/help_about.html +++ b/OpenKeychain/src/main/res/raw-ja/help_about.html @@ -5,27 +5,27 @@

              OpenKeychain は Android における OpenPGP 実装です。

              ライセンス: GPLv3以降

              -

              OpenKeychain開発者

              +

              開発者

                -
              • Dominik Schürmann (主任開発者)
              • -
              • Ash Hughes (暗号関係パッチ提供)
              • +
              • Dominik Schürmann (メンテナ)
              • +
              • Art O Cathain
              • +
              • Ash Hughes
              • Brian C. Barnes
              • -
              • Bahtiar 'kalkin' Gadimov (UI)
              • +
              • Bahtiar 'kalkin' Gadimov
              • +
              • Daniel Albert
              • Daniel Hammann
              • Daniel Haß
              • Greg Witczak
              • +
              • 'mar-v-in'
              • +
              • Markus Doits
              • Miroojin Bakshi
              • Nikhil Peter Raj
              • Paul Sarbinowski
              • +
              • 'Senecaso'
              • Sreeram Boyapati
              • -
              • Vincent Breitmoser
              • +
              • Thialfihar (APG 1.x)
              • Tim Bray
              • -
              -

              APG 1.xの開発者達

              -
                -
              • Thialfihar (主任開発者)
              • -
              • 'Senecaso' (QRコード, 鍵署名, 鍵アップロード関係)
              • -
              • Markus Doits
              • +
              • Vincent Breitmoser

              ライブラリ

              diff --git a/OpenKeychain/src/main/res/raw-ja/help_changelog.html b/OpenKeychain/src/main/res/raw-ja/help_changelog.html index 0bde8d000..21f0fa230 100644 --- a/OpenKeychain/src/main/res/raw-ja/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-ja/help_changelog.html @@ -1,6 +1,20 @@ +

              2.8

              +
                +
              • そして主要な新しい機能を主眼としたこのリリースでたくさんのバグが修正されました
              • +
              • 鍵編集: 新しいすごいデザイン、鍵の破棄
              • +
              • 鍵インポート: 新しいすごいデザイン、hkps経由での鍵サーバとの安全な接続、そしてDNS SRVレコードによる鍵サーバの解決
              • +
              • 新しい初回表示
              • +
              • 新しい鍵生成画面: Androidのあなたの個人アカウントをベースとした名前とメールの自動補完
              • +
              • ファイル暗号化: 新しいすごいデザイン、複数ファイルの暗号化をサポートする
              • +
              • 鍵のステータス表示の新しいアイコン(Brennan Novak提供)
              • +
              • 重要なバグ修正: 巨大な鍵コレクションをファイルからインポートするのが可能になりました
              • +
              • キャッシュしたパスフレーズの通知表示
              • +
              +

              Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfiharの働きなくしてはこのリリースはありませんでした

              +

              2.7

              • Purple! (Dominik, Vincent)
              • @@ -15,16 +29,16 @@

              2.6

                -
              • 鍵証明 (thanks to Vincent Breitmoser)
              • -
              • GnuPGの部分秘密鍵のサポート (thanks to Vincent Breitmoser)
              • +
              • 鍵証明 (ありがとうVincent Breitmoser)
              • +
              • GnuPGの部分秘密鍵のサポート (ありがとうVincent Breitmoser)
              • 新しいデザインでの署名の検証
              • -
              • カスタムの鍵長 (thanks to Greg Witczak)
              • +
              • カスタムの鍵長 (ありがとうGreg Witczak)
              • 他のアプリからの共有ファンクションの修正

              2.5

              • 対称暗号化PGPメッセージ/ファイルの復号化を修正
              • -
              • 鍵編集画面のリファクタ (thanks to Ash Hughes)
              • +
              • 鍵編集画面のリファクタ (ありがとうAsh Hughes)
              • 暗号化/復号化画面を新しいモダンなデザインに
              • OpenPGP API バージョン 3 (複数APIアカウント, 内部修正,鍵検索)
              @@ -33,15 +47,15 @@ また、以下の人達(アルファベット順)の作ってくれたいくつもののさなパッチや相当数のパッチにも: Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

                -
              • 新しい統合鍵リスト
              • +
              • 新しい統合キーリスト
              • 鍵指紋のカラー化
              • 鍵サーバのポート設定のサポート
              • -
              • 弱い鍵の生成が可能だったのを無効化
              • +
              • 弱い鍵の生成をしてしまうのを無効化
              • さらなるAPIでの内部動作
              • -
              • ユーザIDの証明
              • +
              • ユーザーIDの証明
              • 鍵サーバへの要求をマシンリーダブル出力を基盤にした
              • タブレットでのナビゲーションドロワーのロック
              • -
              • 鍵の生成についてメールでのサジェスト
              • +
              • 鍵の生成でのメールについての提案
              • 公開鍵リスト内での検索
              • そしてさらなる改善と修正...
              @@ -51,9 +65,9 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

            2.3

              -
            • 秘密鍵のエクスポート時における必要でない公開鍵のエクスポートの削除 (thanks to Ash Hughes)
            • -
            • 鍵の期限日時設定の修正 (thanks to Ash Hughes)
            • -
            • 鍵編集時のさらなる内部修正 (thanks to Ash Hughes)
            • +
            • 秘密鍵のエクスポート時における必要でない公開鍵のエクスポートの削除 (ありがとうAsh Hughes)
            • +
            • 鍵の期限日時設定の修正 (ありがとうAsh Hughes)
            • +
            • 鍵編集時のさらなる内部修正 (ありがとうAsh Hughes)
            • インポート画面から直接鍵サーバへ要求するようにした
            • Android 2.2から3.0でのレイアウトとダイアログスタイルの修正
            • 空ユーザIDの鍵でのクラッシュ修正
            • @@ -63,13 +77,13 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

            2.2

              -
            • ナビゲーションドロワーの新しいデザイン
            • +
            • ナビゲーションドロワー付きの新しいデザイン
            • 新しい公開鍵リストデザイン
            • 新しい公開鍵ビュー
            • 鍵のインポート時のバグ修正
            • -
            • 鍵のクロス証明 (thanks to Ash Hughes)
            • -
            • 適切な UTF-8 パスワード処理 (thanks to Ash Hughes)
            • -
            • 新しい言語での最初のバージョン (thanks to the contributors on Transifex)
            • +
            • 鍵のクロス証明 (ありがとうAsh Hughes)
            • +
            • 適切な UTF-8 パスワード処理 (ありがとうAsh Hughes)
            • +
            • 新しい言語での最初のバージョン (ありがとうTransifexの貢献者達)
            • QRコードによる鍵共有の修正と改善
            • APIでのパッケージ署名検証
            @@ -97,7 +111,7 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa
          • 鍵サーバの基本サポート
          • App2SD
          • パスフレーズのキャッシュ時間について1,2,4,8時間の選択肢追加
          • -
          • 翻訳: ノルウェー語 (thanks, Sander Danielsen), 中国語 (thanks, Zhang Fredrick) 追加
          • +
          • 翻訳: ノルウェー語 (ありがとう、Sander Danielsen)、中国語 (ありがとう、Zhang Fredrick) 追加
          • バグ修正
          • 最適化
          diff --git a/OpenKeychain/src/main/res/raw-ko/help_about.html b/OpenKeychain/src/main/res/raw-ko/help_about.html deleted file mode 100644 index ab3c19375..000000000 --- a/OpenKeychain/src/main/res/raw-ko/help_about.html +++ /dev/null @@ -1,50 +0,0 @@ - - - -

          http://www.openkeychain.org

          -

          OpenKeychain is an OpenPGP implementation for Android.

          -

          License: GPLv3+

          - -

          Developers OpenKeychain

          -
            -
          • Dominik Schürmann (Lead developer)
          • -
          • Ash Hughes (crypto patches)
          • -
          • Brian C. Barnes
          • -
          • Bahtiar 'kalkin' Gadimov (UI)
          • -
          • Daniel Hammann
          • -
          • Daniel Haß
          • -
          • Greg Witczak
          • -
          • Miroojin Bakshi
          • -
          • Nikhil Peter Raj
          • -
          • Paul Sarbinowski
          • -
          • Sreeram Boyapati
          • -
          • Vincent Breitmoser
          • -
          • Tim Bray
          • -
          -

          Developers APG 1.x

          -
            -
          • Thialfihar (Lead developer)
          • -
          • 'Senecaso' (QRCode, sign key, upload key)
          • -
          • Markus Doits
          • -
          -

          Libraries

          - - - diff --git a/OpenKeychain/src/main/res/raw-ko/help_changelog.html b/OpenKeychain/src/main/res/raw-ko/help_changelog.html deleted file mode 100644 index ebada67f9..000000000 --- a/OpenKeychain/src/main/res/raw-ko/help_changelog.html +++ /dev/null @@ -1,156 +0,0 @@ - - - -

          2.7

          -
            -
          • Purple! (Dominik, Vincent)
          • -
          • New key view design (Dominik, Vincent)
          • -
          • New flat Android buttons (Dominik, Vincent)
          • -
          • API fixes (Dominik)
          • -
          • Keybase.io import (Tim Bray)
          • -
          -

          2.6.1

          -
            -
          • some fixes for regression bugs
          • -
          -

          2.6

          -
            -
          • key certifications (thanks to Vincent Breitmoser)
          • -
          • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
          • -
          • new design for signature verification
          • -
          • custom key length (thanks to Greg Witczak)
          • -
          • fix share-functionality from other apps
          • -
          -

          2.5

          -
            -
          • fix decryption of symmetric pgp messages/files
          • -
          • refactored edit key screen (thanks to Ash Hughes)
          • -
          • new modern design for encrypt/decrypt screens
          • -
          • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)
          • -
          -

          2.4

          -

          Thanks to all applicants of Google Summer of Code 2014 who made this release feature rich and bug free! -Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): -Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

          -
            -
          • new unified key list
          • -
          • colorized key fingerprint
          • -
          • support for keyserver ports
          • -
          • deactivate possibility to generate weak keys
          • -
          • much more internal work on the API
          • -
          • certify user ids
          • -
          • keyserver query based on machine-readable output
          • -
          • lock navigation drawer on tablets
          • -
          • suggestions for emails on creation of keys
          • -
          • search in public key lists
          • -
          • and much more improvements and fixes…
          • -
          -

          2.3.1

          -
            -
          • hotfix for crash when upgrading from old versions
          • -
          -

          2.3

          -
            -
          • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
          • -
          • fix setting expiry dates on keys (thanks to Ash Hughes)
          • -
          • more internal fixes when editing keys (thanks to Ash Hughes)
          • -
          • querying keyservers directly from the import screen
          • -
          • fix layout and dialog style on Android 2.2-3.0
          • -
          • fix crash on keys with empty user ids
          • -
          • fix crash and empty lists when coming back from signing screen
          • -
          • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
          • -
          • fix upload of key from signing screen
          • -
          -

          2.2

          -
            -
          • new design with navigation drawer
          • -
          • new public key list design
          • -
          • new public key view
          • -
          • bug fixes for importing of keys
          • -
          • key cross-certification (thanks to Ash Hughes)
          • -
          • handle UTF-8 passwords properly (thanks to Ash Hughes)
          • -
          • first version with new languages (thanks to the contributors on Transifex)
          • -
          • sharing of keys via QR Codes fixed and improved
          • -
          • package signature verification for API
          • -
          -

          2.1.1

          -
            -
          • API Updates, preparation for K-9 Mail integration
          • -
          -

          2.1

          -
            -
          • lots of bug fixes
          • -
          • new API for developers
          • -
          • PRNG bug fix by Google
          • -
          -

          2.0

          -
            -
          • complete redesign
          • -
          • share public keys via qr codes, nfc beam
          • -
          • sign keys
          • -
          • upload keys to server
          • -
          • fixes import issues
          • -
          • new AIDL API
          • -
          -

          1.0.8

          -
            -
          • basic keyserver support
          • -
          • app2sd
          • -
          • more choices for pass phrase cache: 1, 2, 4, 8, hours
          • -
          • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
          • -
          • bugfixes
          • -
          • optimizations
          • -
          -

          1.0.7

          -
            -
          • fixed problem with signature verification of texts with trailing newline
          • -
          • more options for pass phrase cache time to live (20, 40, 60 mins)
          • -
          -

          1.0.6

          -
            -
          • account adding crash on Froyo fixed
          • -
          • secure file deletion
          • -
          • option to delete key file after import
          • -
          • stream encryption/decryption (gallery, etc.)
          • -
          • new options (language, force v3 signatures)
          • -
          • interface changes
          • -
          • bugfixes
          • -
          -

          1.0.5

          -
            -
          • German and Italian translation
          • -
          • much smaller package, due to reduced BC sources
          • -
          • new preferences GUI
          • -
          • layout adjustment for localization
          • -
          • signature bugfix
          • -
          -

          1.0.4

          -
            -
          • fixed another crash caused by some SDK bug with query builder
          • -
          -

          1.0.3

          -
            -
          • fixed crashes during encryption/signing and possibly key export
          • -
          -

          1.0.2

          -
            -
          • filterable key lists
          • -
          • smarter pre-selection of encryption keys
          • -
          • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
          • -
          • fixes and additional features (key preselection) for K-9 Mail, new beta build available
          • -
          -

          1.0.1

          -
            -
          • GMail account listing was broken in 1.0.0, fixed again
          • -
          -

          1.0.0

          -
            -
          • K-9 Mail integration, APG supporting beta build of K-9 Mail
          • -
          • support of more file managers (including ASTRO)
          • -
          • Slovenian translation
          • -
          • new database, much faster, less memory usage
          • -
          • defined Intents and content provider for other apps
          • -
          • bugfixes
          • -
          - - diff --git a/OpenKeychain/src/main/res/raw-ko/help_nfc_beam.html b/OpenKeychain/src/main/res/raw-ko/help_nfc_beam.html deleted file mode 100644 index 88492731c..000000000 --- a/OpenKeychain/src/main/res/raw-ko/help_nfc_beam.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -

          How to receive keys

          -
            -
          1. Go to your partners contacts and open the contact you want to share.
          2. -
          3. Hold the two devices back to back (they have to be almost touching) and you’ll feel a vibration.
          4. -
          5. After it vibrates you’ll see the content on your partners device turn into a card-like object with Star Trek warp speed-looking animation in the background.
          6. -
          7. Tap the card and the content will then load on the your device.
          8. -
          - - diff --git a/OpenKeychain/src/main/res/raw-ko/help_start.html b/OpenKeychain/src/main/res/raw-ko/help_start.html deleted file mode 100644 index 51a76c01e..000000000 --- a/OpenKeychain/src/main/res/raw-ko/help_start.html +++ /dev/null @@ -1,22 +0,0 @@ - - - -

          Getting started

          -

          First you need a personal secret key. Create one via the option menus in "Keys" or import existing secret keys. Afterwards, you can download your friends' keys or exchange them via QR Codes or NFC.

          - -

          It is recommended that you install OI File Manager for enhanced file selection and Barcode Scanner to scan generated QR Codes. Clicking on the links will open Google Play Store or F-Droid for installation.

          - -

          Applications

          -

          Several applications support OpenKeychain to encrypt/sign your private communication:

          K-9 Mail: OpenKeychain support available in current alpha build!

          Conversations
          : Jabber/XMPP client

          PGPAuth
          : App to send a PGP-signed request to a server to open or close something, e.g. a door

          - -

          I found a bug in OpenKeychain!

          -

          Please report the bug using the issue tracker of OpenKeychain.

          - -

          Contribute

          -

          If you want to help us developing OpenKeychain by contributing code follow our small guide on Github.

          - -

          Translations

          -

          Help translating OpenKeychain! Everybody can participate at OpenKeychain on Transifex.

          - - - diff --git a/OpenKeychain/src/main/res/raw-ko/help_wot.html b/OpenKeychain/src/main/res/raw-ko/help_wot.html deleted file mode 100644 index 29790139b..000000000 --- a/OpenKeychain/src/main/res/raw-ko/help_wot.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -

          Web of Trust

          -

          The Web of Trust describes the part of PGP which deals with creation and bookkeeping of certifications. It provides mechanisms to help the user keep track of who a public key belongs to, and share this information with others; To ensure the privacy of encrypted communication, it is essential to know that the public key you encrypt to belongs to the person you think it does.

          - -

          Support in OpenKeychain

          -

          There is only basic support for Web of Trust in OpenKeychain. This is a heavy work in progress and subject to changes in upcoming releases.

          - -

          Trust Model

          -

          Trust evaluation is based on the simple assumption that all keys which have secret keys available are trusted. Public keys which contain at least one user id certified by a trusted key will be marked with a green dot in the key listings. It is not (yet) possible to specify trust levels for certificates of other known public keys.

          - -

          Certifying keys

          -

          Support for key certification is available, and user ids can be certified individually. It is not yet possible to specify the level of trust or create local and other special types of certificates.

          - - - diff --git a/OpenKeychain/src/main/res/raw-ko/nfc_beam_share.html b/OpenKeychain/src/main/res/raw-ko/nfc_beam_share.html deleted file mode 100644 index 083e055c7..000000000 --- a/OpenKeychain/src/main/res/raw-ko/nfc_beam_share.html +++ /dev/null @@ -1,11 +0,0 @@ - - - -
            -
          1. Make sure that NFC is turned on in Settings > More > NFC and make sure that Android Beam is also on in the same section.
          2. -
          3. Hold the two devices back to back (they have to be almost touching) and you'll feel a vibration.
          4. -
          5. After it vibrates you'll see the content on your device turn into a card-like object with Star Trek warp speed-looking animation in the background.
          6. -
          7. Tap the card and the content will then load on the other person’s device.
          8. -
          - - diff --git a/OpenKeychain/src/main/res/raw-nl/help_about.html b/OpenKeychain/src/main/res/raw-nl/help_about.html index 0ac14d919..1996bf267 100644 --- a/OpenKeychain/src/main/res/raw-nl/help_about.html +++ b/OpenKeychain/src/main/res/raw-nl/help_about.html @@ -5,27 +5,27 @@

          OpenKeychain is een OpenPGP implementatie voor Android.

          Licentie: GPLv3+

          -

          Ontwikkelaars OpenKeychain

          +

          Developers

            -
          • Dominik Schürmann (hoofdontwikkelaar)
          • -
          • Ash Hughes (crypto patches)
          • +
          • Dominik Schürmann (Maintainer)
          • +
          • Art O Cathain
          • +
          • Ash Hughes
          • Brian C. Barnes
          • -
          • Bahtiar 'kalkin' Gadimov (UI)
          • +
          • Bahtiar 'kalkin' Gadimov
          • +
          • Daniel Albert
          • Daniel Hammann
          • Daniel Haß
          • Greg Witczak
          • +
          • 'mar-v-in'
          • +
          • Markus Doits
          • Miroojin Bakshi
          • Nikhil Peter Raj
          • Paul Sarbinowski
          • +
          • 'Senecaso'
          • Sreeram Boyapati
          • -
          • Vincent Breitmoser
          • +
          • Thialfihar (APG 1.x)
          • Tim Bray
          • -
          -

          Ontwikkelaars APG 1.x

          -
            -
          • Thialfihar (Hoofdontwikkelaar)
          • -
          • 'Senecaso' (QRCode, signeersleutel, uploadsleutel)
          • -
          • Markus Doits
          • +
          • Vincent Breitmoser

          Bibliotheken

          diff --git a/OpenKeychain/src/main/res/raw-nl/help_changelog.html b/OpenKeychain/src/main/res/raw-nl/help_changelog.html index 38da3d57c..3bc039642 100644 --- a/OpenKeychain/src/main/res/raw-nl/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-nl/help_changelog.html @@ -1,6 +1,20 @@ +

          2.8

          +
            +
          • So many bugs have been fixed in this release that we focus on the main new features
          • +
          • Key edit: awesome new design, key revocation
          • +
          • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
          • +
          • New first time screen
          • +
          • New create key screen: autocompletion of name and email based on your personal Android accounts
          • +
          • File encryption: awesome new design, support for encrypting multiple files
          • +
          • New icons to show status of key (by Brennan Novak)
          • +
          • Important bug fix: Importing of large key collections from a file is now possible
          • +
          • Notification showing cached passphrases
          • +
          +

          This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

          +

          2.7

          • Paars! (Dominik, Vincent)
          • @@ -11,21 +25,21 @@

          2.6.1

            -
          • enige fixes voor regressie bugs
          • +
          • Some fixes for regression bugs

          2.6

            -
          • sleutel certificaties (dank aan Vincent Breitmoser)
          • -
          • support voor GnuPG deel geheime sleutels (dank aan Vincent Breitmoser)
          • -
          • nieuw design voor handtekeningsverificatie
          • -
          • aangepaste sleutellengte (dank aan Greg Witczak)
          • -
          • fix deel-functionaliteit van andere apps
          • +
          • Key certifications (thanks to Vincent Breitmoser)
          • +
          • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
          • +
          • New design for signature verification
          • +
          • Custom key length (thanks to Greg Witczak)
          • +
          • Fix share-functionality from other apps

          2.5

            -
          • fix decodering van symmetrische pgp berichten/bestanden
          • -
          • bewerk sleutel scherm opnieuw gedaan (dank aan Ash Hughes)
          • -
          • nieuw modern design voor codeer/decodeer schermen
          • +
          • Fix decryption of symmetric pgp messages/files
          • +
          • Refactored edit key screen (thanks to Ash Hughes)
          • +
          • New modern design for encrypt/decrypt screens
          • OpenPGP API versie 3 (meerdere api accounts, interne fixes, sleutel lookup)

          2.4

          @@ -33,45 +47,45 @@ Naast meerdere kleine patches zijn een redelijk aantal patches gemaakt door de volgende mensen (in alfabetische volgorde): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

            -
          • nieuwe verenigde sleutellijst
          • -
          • gekleurde sleutel vingerafdruk
          • -
          • support voor sleutelserver ports
          • -
          • deactiveer mogelijkheid om zwakke sleutels te genereren
          • -
          • veel meer intern werk aan het API
          • -
          • certificeer gebruiker ids
          • -
          • sleutelserver opdracht gebaseerd op machine-leesbare output
          • -
          • Versleutel navigatiemenu op tablets
          • -
          • suggesties voor e-mails bij aanmaken van sleutels
          • -
          • zoek in publieke sleutel lijsten
          • -
          • en veel meer verbeteringen en fixes...
          • +
          • New unified key list
          • +
          • Colorized key fingerprint
          • +
          • Support for keyserver ports
          • +
          • Deactivate possibility to generate weak keys
          • +
          • Much more internal work on the API
          • +
          • Certify user ids
          • +
          • Keyserver query based on machine-readable output
          • +
          • Lock navigation drawer on tablets
          • +
          • Suggestions for emails on creation of keys
          • +
          • Search in public key lists
          • +
          • And much more improvements and fixes…

          2.3.1

            -
          • hotfix voor crash bij het upgraden van oude versies
          • +
          • Hotfix for crash when upgrading from old versions

          2.3

            -
          • verwijder onnodige export van publieke sleutels bij het exporteren van de geheime sleutel (dank aan Ash Hughes)
          • -
          • fix instellingen verloopdata op sleutels (dank aan Ash Hughes)
          • -
          • meer interne fixes tijdens het bewerken van sleutels (dank aan Ash Hughes)
          • -
          • sleutelservers direct van het importeerscherm zoeken
          • -
          • fix layout en dialoog stijl op Android 2.2-3.0
          • -
          • fix crash op sleutels met lege gebruiker id's
          • -
          • fix crash en lege lijsten bij het terugkomen van het ondertekenscherm
          • +
          • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
          • +
          • Fix setting expiry dates on keys (thanks to Ash Hughes)
          • +
          • More internal fixes when editing keys (thanks to Ash Hughes)
          • +
          • Querying keyservers directly from the import screen
          • +
          • Fix layout and dialog style on Android 2.2-3.0
          • +
          • Fix crash on keys with empty user ids
          • +
          • Fix crash and empty lists when coming back from signing screen
          • Bouncy Castle (cryptografie bibliotheek) bijgewerkt van 1.47 naar 1.50 en versie van bron
          • -
          • fix uploaden van sleutel van ondertekenscherm
          • +
          • Fix upload of key from signing screen

          2.2

            -
          • nieuw design met navigatiemenu
          • -
          • nieuw publieke sleutel lijst design
          • -
          • nieuw publieke sleutel uiterlijk
          • -
          • bug fixes voor importeren van sleutels
          • -
          • sleutel kruis-certificatie (dank aan Ash Hughes)
          • -
          • behandelt UTF-8 wachtwoorden goed (dank aan Ash Hughes)
          • -
          • eerste versie met nieuwe talen (dank aan de medewerkers bij Transifex)
          • -
          • delen van sleutels via QR Codes gefixt en verbeterd
          • -
          • pakket handtekening verificatie voor API
          • +
          • New design with navigation drawer
          • +
          • New public key list design
          • +
          • New public key view
          • +
          • Bug fixes for importing of keys
          • +
          • Key cross-certification (thanks to Ash Hughes)
          • +
          • Handle UTF-8 passwords properly (thanks to Ash Hughes)
          • +
          • First version with new languages (thanks to the contributors on Transifex)
          • +
          • Sharing of keys via QR Codes fixed and improved
          • +
          • Package signature verification for API

          2.1.1

            @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

          2.1

            -
          • veel bugfixes
          • -
          • nieuwe API voor ontwikkelaars
          • +
          • Lots of bug fixes
          • +
          • New API for developers
          • PRNG bug fix door Google

          2.0

            -
          • complete herdesign
          • -
          • deel publieke sleutels via qr codes, nfc beam
          • -
          • sleutels ondertekenen
          • -
          • upload sleutels naar server
          • -
          • fixt importeerfouten
          • -
          • nieuwe AIDL API
          • +
          • Complete redesign
          • +
          • Share public keys via qr codes, nfc beam
          • +
          • Sign keys
          • +
          • Upload keys to server
          • +
          • Fixes import issues
          • +
          • New AIDL API

          1.0.8

            -
          • basis sleutelserver support
          • -
          • app2sd
          • -
          • meer keuzes voor wachtwoord cache: 1, 2, 4, 8, uren
          • -
          • vertalingen: Noors (bedankt, Sander Danielsen), Chinees (bedankt, Zhang Fredrick)
          • -
          • bugfixes
          • -
          • optimalisaties
          • +
          • Basic keyserver support
          • +
          • App2sd
          • +
          • More choices for pass phrase cache: 1, 2, 4, 8, hours
          • +
          • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
          • +
          • Bugfixes
          • +
          • Optimizations

          1.0.7

            -
          • probleem met handtekeningverificatie van teksten met nieuwe trailing newline gefixt
          • -
          • meer opties voor wachtwoord cache tijd te leven (20, 40, 60 minuten)
          • +
          • Fixed problem with signature verification of texts with trailing newline
          • +
          • More options for pass phrase cache time to live (20, 40, 60 mins)

          1.0.6

            -
          • account toevoegen crash op Froyo gefixt
          • -
          • veilige bestandsverwijdering
          • -
          • optie om sleutel te verwijderen na importeren
          • -
          • stream codering/decodering (gallery, etc.)
          • -
          • nieuwe opties (taal, force v3 handtekeningen)
          • -
          • interface veranderingen
          • -
          • bugfixes
          • +
          • Account adding crash on Froyo fixed
          • +
          • Secure file deletion
          • +
          • Option to delete key file after import
          • +
          • Stream encryption/decryption (gallery, etc.)
          • +
          • New options (language, force v3 signatures)
          • +
          • Interface changes
          • +
          • Bugfixes

          1.0.5

          • Duitse en Italiaanse vertaling
          • -
          • veel kleiner pakket, door verminderde BC bronnen
          • -
          • nieuwe voorkeuren GUI
          • -
          • layout aanpassing voor plaatsbepaling
          • -
          • handtekening bugfix
          • +
          • Much smaller package, due to reduced BC sources
          • +
          • New preferences GUI
          • +
          • Layout adjustment for localization
          • +
          • Signature bugfix

          1.0.4

            -
          • nog een crash gefixt veroorzaakt door een SDK bug met query builder
          • +
          • Fixed another crash caused by some SDK bug with query builder

          1.0.3

            -
          • crashes tijdens codering/signering en mogelijk sleutel importeren gefixt
          • +
          • Fixed crashes during encryption/signing and possibly key export

          1.0.2

            -
          • filterbare sleutellijsten
          • -
          • slimmere voor-selectie van codeersleutels
          • -
          • nieuwe Intent behandeling voor VIEW en SEND, maakt het mogelijk om bestanden te coderen/decoderen uit bestandsmanagers
          • -
          • fixes en meer functies (sleutel voorselectie) voor K-9 Mail, nieuwe beta versie beschikbaar
          • +
          • Filterable key lists
          • +
          • Smarter pre-selection of encryption keys
          • +
          • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
          • +
          • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

          1.0.1

            @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

            1.0.0

            • K-9 Mail integratie, APG ondersteunende beta versie van K-9 Mail
            • -
            • support voor meer bestandsmanagers (inclusief ASTRO)
            • +
            • Support of more file managers (including ASTRO)
            • Slovenische vertaling
            • -
            • nieuwe database, veel sneller, minder geheugenverbruik
            • -
            • gedefinieerde Intents en inhoudsprovider voor andere apps
            • -
            • bugfixes
            • +
            • New database, much faster, less memory usage
            • +
            • Defined Intents and content provider for other apps
            • +
            • Bugfixes
            diff --git a/OpenKeychain/src/main/res/raw-pl/help_about.html b/OpenKeychain/src/main/res/raw-pl/help_about.html index 68cc2810e..0ec1ceefe 100644 --- a/OpenKeychain/src/main/res/raw-pl/help_about.html +++ b/OpenKeychain/src/main/res/raw-pl/help_about.html @@ -5,27 +5,27 @@

            OpenKeychain to implementacja OpenPGP na platformę Android.

            Licencja: GPLv3+

            -

            Deweloperzy OpenKeychain

            +

            Developers

              -
            • Dominik Schürmann (Wiodący developer)
            • -
            • Ash Hughes (łatki crypto)
            • +
            • Dominik Schürmann (Maintainer)
            • +
            • Art O Cathain
            • +
            • Ash Hughes
            • Brian C. Barnes
            • -
            • Bahtiar 'kalkin' Gadimov (Interfejs Użytkownika)
            • +
            • Bahtiar 'kalkin' Gadimov
            • +
            • Daniel Albert
            • Daniel Hammann
            • Daniel Haß
            • Greg Witczak
            • +
            • 'mar-v-in'
            • +
            • Markus Doits
            • Miroojin Bakshi
            • Nikhil Peter Raj
            • Paul Sarbinowski
            • +
            • 'Senecaso'
            • Sreeram Boyapati
            • -
            • Vincent Breitmoser
            • +
            • Thialfihar (APG 1.x)
            • Tim Bray
            • -
            -

            Deweloperzy APG 1.x

            -
              -
            • Thialfihar (Wiodący deweloper)
            • -
            • 'Senecaso' (kody QR, podpisy kluczy, wysyłanie kluczy)
            • -
            • Markus Doits
            • +
            • Vincent Breitmoser

            Biblioteki

            diff --git a/OpenKeychain/src/main/res/raw-pl/help_changelog.html b/OpenKeychain/src/main/res/raw-pl/help_changelog.html index 8fce6c475..eded2c8c4 100644 --- a/OpenKeychain/src/main/res/raw-pl/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-pl/help_changelog.html @@ -1,6 +1,20 @@ +

            2.8

            +
              +
            • So many bugs have been fixed in this release that we focus on the main new features
            • +
            • Key edit: awesome new design, key revocation
            • +
            • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
            • +
            • New first time screen
            • +
            • New create key screen: autocompletion of name and email based on your personal Android accounts
            • +
            • File encryption: awesome new design, support for encrypting multiple files
            • +
            • New icons to show status of key (by Brennan Novak)
            • +
            • Important bug fix: Importing of large key collections from a file is now possible
            • +
            • Notification showing cached passphrases
            • +
            +

            This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

            +

            2.7

            • Purple! (Dominik, Vincent)
            • @@ -11,21 +25,21 @@

            2.6.1

              -
            • kilka poprawionych błędów regresji
            • +
            • Some fixes for regression bugs

            2.6

              -
            • certyfikacja kluczy (podziękowania dla Vincent Breitmoser)
            • -
            • dodano wsparcie dla dzielonych kluczy prywatnych GnuPG (podziękowania dla Vincent Breitmoser)
            • -
            • nowy wygląd dla weryfikacji podpisu
            • -
            • niestandardowa długość klucza (podziękowania dla Greg Witczak)
            • -
            • naprawiono funkcję udostępniania przez inne aplikacje
            • +
            • Key certifications (thanks to Vincent Breitmoser)
            • +
            • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
            • +
            • New design for signature verification
            • +
            • Custom key length (thanks to Greg Witczak)
            • +
            • Fix share-functionality from other apps

            2.5

              -
            • naprawiono deszyfrowanie symetrycznych wiadomości/plików PGP
            • -
            • przerobiono ekran edytowania klucza (podziękowania dla Ash Hughes)
            • -
            • nowy nowoczesny design dla ekranów szyfrowania/deszyfrowania
            • +
            • Fix decryption of symmetric pgp messages/files
            • +
            • Refactored edit key screen (thanks to Ash Hughes)
            • +
            • New modern design for encrypt/decrypt screens
            • OpenPGP API wersja 3 (wiele kont API, wewnętrzne poprawki, wyszukiwanie kluczy)

            2.4

            @@ -33,45 +47,45 @@ Poza kilkoma małymi poprawkami, znaczna ilość aktualizacji została wykonana przez poniższe osoby (w kolejności alfabetycznej): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

              -
            • nowa ujednolicona lista kluczy
            • -
            • pokolowane odciski klucza
            • -
            • obsługa portów w serwerach kluczy
            • -
            • zablokowana możliwość generowania słabych kluczy
            • -
            • wiele wewnętrznych prac nad API
            • -
            • podpisywanie identyfikatorów użytkowników
            • -
            • zapytania do serwera kluczy wykorzystują wydajniejszą komunikację maszynową
            • -
            • zablokowany panel nawigacyjny na tabletach
            • -
            • podpowiedzi do adresu email przy tworzeniu kluczy
            • -
            • wyszukiwanie w liście publicznych kluczy
            • -
            • i wiele innych usprawnień i poprawek...
            • +
            • New unified key list
            • +
            • Colorized key fingerprint
            • +
            • Support for keyserver ports
            • +
            • Deactivate possibility to generate weak keys
            • +
            • Much more internal work on the API
            • +
            • Certify user ids
            • +
            • Keyserver query based on machine-readable output
            • +
            • Lock navigation drawer on tablets
            • +
            • Suggestions for emails on creation of keys
            • +
            • Search in public key lists
            • +
            • And much more improvements and fixes…

            2.3.1

              -
            • szybka poprawka awarii aplikacji przy aktualizacji ze starszej wersji
            • +
            • Hotfix for crash when upgrading from old versions

            2.3

              -
            • usunięto zbędne eksportowanie kluczy publicznych przy eksportowaniu kluczy prywatnych (podziękowania dla Ash Hughes)
            • -
            • naprawiono błąd z ustawianiem daty wygaśnięcia kluczy (podziękowania dla Ash Hugens)
            • -
            • więcej wewnętrznych poprawek przy edytowaniu kluczy (podziękowania dla Ash Hughes)
            • -
            • wysyłanie zapytań do serwera kluczy bezpośrednio z ekranu importu
            • -
            • poprawiony wygląd interfejsu i okienek na Androidzie 2.2-3.0
            • -
            • naprawiono awarię programu dla kluczy z pustym identyfikatorem użytkownika
            • -
            • naprawiono awarię aplikacji przy powrocie z ekranu podpisywania
            • +
            • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
            • +
            • Fix setting expiry dates on keys (thanks to Ash Hughes)
            • +
            • More internal fixes when editing keys (thanks to Ash Hughes)
            • +
            • Querying keyservers directly from the import screen
            • +
            • Fix layout and dialog style on Android 2.2-3.0
            • +
            • Fix crash on keys with empty user ids
            • +
            • Fix crash and empty lists when coming back from signing screen
            • Bouncy Castle (biblioteka kryptograficzna) zaktualizowana z wersji 1.47 do 1.50 i kompilowana ze źródeł
            • -
            • naprawiony błąd przy wysyłaniu klucza z ekranu podpisywania
            • +
            • Fix upload of key from signing screen

            2.2

              -
            • nowy wygląd z panelem nawigacji
            • -
            • nowy wygląd listy kluczy publicznych
            • -
            • nowy widok klucza publicznego
            • -
            • naprawiono błędy związane z importowaniem kluczy
            • -
            • krzyżowa certyfikacja kluczy (podziękowania dla Ash Hughes)
            • -
            • hasła zapisane w UTF-8 są teraz prawidłowo obsługiwane (podziękowania dla Ash Hughes)
            • -
            • pierwsza wersja z nowymi językami (podziękowania dla tłumaczy-wolontariuszy z Transifex)
            • -
            • udostępnianie kluczy przez kody QR zostało poprawione i ulepszone
            • -
            • weryfikacja podpisu paczki dla API
            • +
            • New design with navigation drawer
            • +
            • New public key list design
            • +
            • New public key view
            • +
            • Bug fixes for importing of keys
            • +
            • Key cross-certification (thanks to Ash Hughes)
            • +
            • Handle UTF-8 passwords properly (thanks to Ash Hughes)
            • +
            • First version with new languages (thanks to the contributors on Transifex)
            • +
            • Sharing of keys via QR Codes fixed and improved
            • +
            • Package signature verification for API

            2.1.1

              @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

            2.1

              -
            • wiele poprawek błędów
            • -
            • nowe API dla programistów
            • +
            • Lots of bug fixes
            • +
            • New API for developers
            • Naprawiono błąd generatora liczb losowych (PRNG), Google.

            2.0

              -
            • kompletna przebudowa
            • -
            • udostępnianie kluczy publicznych przez kody QR oraz NFC
            • -
            • możliwość podpisywania kluczem
            • -
            • wysyłanie kluczy na serwer
            • -
            • naprawiono problemy związane z importowaniem
            • -
            • nowy AIDL API
            • +
            • Complete redesign
            • +
            • Share public keys via qr codes, nfc beam
            • +
            • Sign keys
            • +
            • Upload keys to server
            • +
            • Fixes import issues
            • +
            • New AIDL API

            1.0.8

              -
            • podstawowa obsługa serwerów kluczy
            • -
            • app2sd
            • -
            • dodano więcej przedziałów czasowych zapamiętywania hasła: 1, 2, 4, 8 godzin
            • -
            • tłumaczenia: norweski (podziękowania dla Sander Danielsen), chiński (podziękowania dla Zhang Fredrick)
            • -
            • naprawione błędy
            • -
            • usprawnienia
            • +
            • Basic keyserver support
            • +
            • App2sd
            • +
            • More choices for pass phrase cache: 1, 2, 4, 8, hours
            • +
            • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
            • +
            • Bugfixes
            • +
            • Optimizations

            1.0.7

              -
            • naprawiono problem z weryfikowaniem podpisu tekstów kończących się znakiem nowej linii
            • -
            • dodano więcej przedziałów czasowych zapamiętywania hasła (20, 40, 60 minut)
            • +
            • Fixed problem with signature verification of texts with trailing newline
            • +
            • More options for pass phrase cache time to live (20, 40, 60 mins)

            1.0.6

              -
            • naprawiono błąd powodujący awarię aplikacji przy dodawaniu nowego konta na Androidzie 2.2 Froyo
            • -
            • dodano bezpieczne usuwanie plików
            • -
            • Dodano możliwość usuwania plików kluczy po zaimportowaniu
            • -
            • możliwość strumieniowego szyfrowania/deszyfrowania (galeria i inne)
            • -
            • nowe opcje (języki, wymuszanie podpisów v3)
            • -
            • zmiany w interfejsie
            • -
            • naprawione błędy
            • +
            • Account adding crash on Froyo fixed
            • +
            • Secure file deletion
            • +
            • Option to delete key file after import
            • +
            • Stream encryption/decryption (gallery, etc.)
            • +
            • New options (language, force v3 signatures)
            • +
            • Interface changes
            • +
            • Bugfixes

            1.0.5

            • tłumaczenie na niemiecki i włoski
            • -
            • znaczne zmniejszenie rozmiaru paczki, z powodu zredukowania źródeł BC
            • -
            • nowy interfejs graficzny Właściwości
            • -
            • usprawnienia wyglądu dla lokalizacji
            • -
            • naprawa błędu z podpisami
            • +
            • Much smaller package, due to reduced BC sources
            • +
            • New preferences GUI
            • +
            • Layout adjustment for localization
            • +
            • Signature bugfix

            1.0.4

              -
            • naprawiono kolejny błąd powodujący awarię aplikacji, spowodowany przez jakąś usterkę w SDK przy budowaniu zapytań
            • +
            • Fixed another crash caused by some SDK bug with query builder

            1.0.3

              -
            • naprawiono błąd w trakcie szyfrowania/podpisywania i prawdopodobnie eksportowania klucza
            • +
            • Fixed crashes during encryption/signing and possibly key export

            1.0.2

              -
            • dodano możliwość filtrowania listy kluczy
            • -
            • sprytniejsze automatyczne wybieranie kluczy szyfrujących
            • -
            • dodano nowy sposób obsługi intencji "wyświetl" i "wyślij", umożliwia szyfrowanie/deszyfrowanie plików wprost z menadżera plików.
            • -
            • poprawki i dodatkowe funkcje (podpowiedź wyboru klucza) dla K-9 Mail, nowe wydanie beta dostępne
            • +
            • Filterable key lists
            • +
            • Smarter pre-selection of encryption keys
            • +
            • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
            • +
            • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

            1.0.1

              @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

              1.0.0

              • integracja z K-9 Mail, APG obsługuje wersję beta K-9 Mail
              • -
              • dodano wsparcie dla większej liczby menadżerów plików (włącznie z ASTRO)
              • +
              • Support of more file managers (including ASTRO)
              • tłumaczenie na słoweński
              • -
              • Wykorzystanie nowej bazy danych, która jest znacznie szybsza i mniej pamięciożerna
              • -
              • zdefiniowano intecję i dostawców treści dla pozostałych aplikacji
              • -
              • naprawione błędy
              • +
              • New database, much faster, less memory usage
              • +
              • Defined Intents and content provider for other apps
              • +
              • Bugfixes
              diff --git a/OpenKeychain/src/main/res/raw-ro/help_about.html b/OpenKeychain/src/main/res/raw-ro/help_about.html deleted file mode 100644 index ab3c19375..000000000 --- a/OpenKeychain/src/main/res/raw-ro/help_about.html +++ /dev/null @@ -1,50 +0,0 @@ - - - -

              http://www.openkeychain.org

              -

              OpenKeychain is an OpenPGP implementation for Android.

              -

              License: GPLv3+

              - -

              Developers OpenKeychain

              -
                -
              • Dominik Schürmann (Lead developer)
              • -
              • Ash Hughes (crypto patches)
              • -
              • Brian C. Barnes
              • -
              • Bahtiar 'kalkin' Gadimov (UI)
              • -
              • Daniel Hammann
              • -
              • Daniel Haß
              • -
              • Greg Witczak
              • -
              • Miroojin Bakshi
              • -
              • Nikhil Peter Raj
              • -
              • Paul Sarbinowski
              • -
              • Sreeram Boyapati
              • -
              • Vincent Breitmoser
              • -
              • Tim Bray
              • -
              -

              Developers APG 1.x

              -
                -
              • Thialfihar (Lead developer)
              • -
              • 'Senecaso' (QRCode, sign key, upload key)
              • -
              • Markus Doits
              • -
              -

              Libraries

              - - - diff --git a/OpenKeychain/src/main/res/raw-ro/help_changelog.html b/OpenKeychain/src/main/res/raw-ro/help_changelog.html deleted file mode 100644 index ebada67f9..000000000 --- a/OpenKeychain/src/main/res/raw-ro/help_changelog.html +++ /dev/null @@ -1,156 +0,0 @@ - - - -

              2.7

              -
                -
              • Purple! (Dominik, Vincent)
              • -
              • New key view design (Dominik, Vincent)
              • -
              • New flat Android buttons (Dominik, Vincent)
              • -
              • API fixes (Dominik)
              • -
              • Keybase.io import (Tim Bray)
              • -
              -

              2.6.1

              -
                -
              • some fixes for regression bugs
              • -
              -

              2.6

              -
                -
              • key certifications (thanks to Vincent Breitmoser)
              • -
              • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
              • -
              • new design for signature verification
              • -
              • custom key length (thanks to Greg Witczak)
              • -
              • fix share-functionality from other apps
              • -
              -

              2.5

              -
                -
              • fix decryption of symmetric pgp messages/files
              • -
              • refactored edit key screen (thanks to Ash Hughes)
              • -
              • new modern design for encrypt/decrypt screens
              • -
              • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)
              • -
              -

              2.4

              -

              Thanks to all applicants of Google Summer of Code 2014 who made this release feature rich and bug free! -Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): -Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

              -
                -
              • new unified key list
              • -
              • colorized key fingerprint
              • -
              • support for keyserver ports
              • -
              • deactivate possibility to generate weak keys
              • -
              • much more internal work on the API
              • -
              • certify user ids
              • -
              • keyserver query based on machine-readable output
              • -
              • lock navigation drawer on tablets
              • -
              • suggestions for emails on creation of keys
              • -
              • search in public key lists
              • -
              • and much more improvements and fixes…
              • -
              -

              2.3.1

              -
                -
              • hotfix for crash when upgrading from old versions
              • -
              -

              2.3

              -
                -
              • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
              • -
              • fix setting expiry dates on keys (thanks to Ash Hughes)
              • -
              • more internal fixes when editing keys (thanks to Ash Hughes)
              • -
              • querying keyservers directly from the import screen
              • -
              • fix layout and dialog style on Android 2.2-3.0
              • -
              • fix crash on keys with empty user ids
              • -
              • fix crash and empty lists when coming back from signing screen
              • -
              • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
              • -
              • fix upload of key from signing screen
              • -
              -

              2.2

              -
                -
              • new design with navigation drawer
              • -
              • new public key list design
              • -
              • new public key view
              • -
              • bug fixes for importing of keys
              • -
              • key cross-certification (thanks to Ash Hughes)
              • -
              • handle UTF-8 passwords properly (thanks to Ash Hughes)
              • -
              • first version with new languages (thanks to the contributors on Transifex)
              • -
              • sharing of keys via QR Codes fixed and improved
              • -
              • package signature verification for API
              • -
              -

              2.1.1

              -
                -
              • API Updates, preparation for K-9 Mail integration
              • -
              -

              2.1

              -
                -
              • lots of bug fixes
              • -
              • new API for developers
              • -
              • PRNG bug fix by Google
              • -
              -

              2.0

              -
                -
              • complete redesign
              • -
              • share public keys via qr codes, nfc beam
              • -
              • sign keys
              • -
              • upload keys to server
              • -
              • fixes import issues
              • -
              • new AIDL API
              • -
              -

              1.0.8

              -
                -
              • basic keyserver support
              • -
              • app2sd
              • -
              • more choices for pass phrase cache: 1, 2, 4, 8, hours
              • -
              • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
              • -
              • bugfixes
              • -
              • optimizations
              • -
              -

              1.0.7

              -
                -
              • fixed problem with signature verification of texts with trailing newline
              • -
              • more options for pass phrase cache time to live (20, 40, 60 mins)
              • -
              -

              1.0.6

              -
                -
              • account adding crash on Froyo fixed
              • -
              • secure file deletion
              • -
              • option to delete key file after import
              • -
              • stream encryption/decryption (gallery, etc.)
              • -
              • new options (language, force v3 signatures)
              • -
              • interface changes
              • -
              • bugfixes
              • -
              -

              1.0.5

              -
                -
              • German and Italian translation
              • -
              • much smaller package, due to reduced BC sources
              • -
              • new preferences GUI
              • -
              • layout adjustment for localization
              • -
              • signature bugfix
              • -
              -

              1.0.4

              -
                -
              • fixed another crash caused by some SDK bug with query builder
              • -
              -

              1.0.3

              -
                -
              • fixed crashes during encryption/signing and possibly key export
              • -
              -

              1.0.2

              -
                -
              • filterable key lists
              • -
              • smarter pre-selection of encryption keys
              • -
              • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
              • -
              • fixes and additional features (key preselection) for K-9 Mail, new beta build available
              • -
              -

              1.0.1

              -
                -
              • GMail account listing was broken in 1.0.0, fixed again
              • -
              -

              1.0.0

              -
                -
              • K-9 Mail integration, APG supporting beta build of K-9 Mail
              • -
              • support of more file managers (including ASTRO)
              • -
              • Slovenian translation
              • -
              • new database, much faster, less memory usage
              • -
              • defined Intents and content provider for other apps
              • -
              • bugfixes
              • -
              - - diff --git a/OpenKeychain/src/main/res/raw-ro/help_nfc_beam.html b/OpenKeychain/src/main/res/raw-ro/help_nfc_beam.html deleted file mode 100644 index 88492731c..000000000 --- a/OpenKeychain/src/main/res/raw-ro/help_nfc_beam.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -

              How to receive keys

              -
                -
              1. Go to your partners contacts and open the contact you want to share.
              2. -
              3. Hold the two devices back to back (they have to be almost touching) and you’ll feel a vibration.
              4. -
              5. After it vibrates you’ll see the content on your partners device turn into a card-like object with Star Trek warp speed-looking animation in the background.
              6. -
              7. Tap the card and the content will then load on the your device.
              8. -
              - - diff --git a/OpenKeychain/src/main/res/raw-ro/help_start.html b/OpenKeychain/src/main/res/raw-ro/help_start.html deleted file mode 100644 index 51a76c01e..000000000 --- a/OpenKeychain/src/main/res/raw-ro/help_start.html +++ /dev/null @@ -1,22 +0,0 @@ - - - -

              Getting started

              -

              First you need a personal secret key. Create one via the option menus in "Keys" or import existing secret keys. Afterwards, you can download your friends' keys or exchange them via QR Codes or NFC.

              - -

              It is recommended that you install OI File Manager for enhanced file selection and Barcode Scanner to scan generated QR Codes. Clicking on the links will open Google Play Store or F-Droid for installation.

              - -

              Applications

              -

              Several applications support OpenKeychain to encrypt/sign your private communication:

              K-9 Mail: OpenKeychain support available in current alpha build!

              Conversations
              : Jabber/XMPP client

              PGPAuth
              : App to send a PGP-signed request to a server to open or close something, e.g. a door

              - -

              I found a bug in OpenKeychain!

              -

              Please report the bug using the issue tracker of OpenKeychain.

              - -

              Contribute

              -

              If you want to help us developing OpenKeychain by contributing code follow our small guide on Github.

              - -

              Translations

              -

              Help translating OpenKeychain! Everybody can participate at OpenKeychain on Transifex.

              - - - diff --git a/OpenKeychain/src/main/res/raw-ro/help_wot.html b/OpenKeychain/src/main/res/raw-ro/help_wot.html deleted file mode 100644 index 29790139b..000000000 --- a/OpenKeychain/src/main/res/raw-ro/help_wot.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -

              Web of Trust

              -

              The Web of Trust describes the part of PGP which deals with creation and bookkeeping of certifications. It provides mechanisms to help the user keep track of who a public key belongs to, and share this information with others; To ensure the privacy of encrypted communication, it is essential to know that the public key you encrypt to belongs to the person you think it does.

              - -

              Support in OpenKeychain

              -

              There is only basic support for Web of Trust in OpenKeychain. This is a heavy work in progress and subject to changes in upcoming releases.

              - -

              Trust Model

              -

              Trust evaluation is based on the simple assumption that all keys which have secret keys available are trusted. Public keys which contain at least one user id certified by a trusted key will be marked with a green dot in the key listings. It is not (yet) possible to specify trust levels for certificates of other known public keys.

              - -

              Certifying keys

              -

              Support for key certification is available, and user ids can be certified individually. It is not yet possible to specify the level of trust or create local and other special types of certificates.

              - - - diff --git a/OpenKeychain/src/main/res/raw-ro/nfc_beam_share.html b/OpenKeychain/src/main/res/raw-ro/nfc_beam_share.html deleted file mode 100644 index 083e055c7..000000000 --- a/OpenKeychain/src/main/res/raw-ro/nfc_beam_share.html +++ /dev/null @@ -1,11 +0,0 @@ - - - -
                -
              1. Make sure that NFC is turned on in Settings > More > NFC and make sure that Android Beam is also on in the same section.
              2. -
              3. Hold the two devices back to back (they have to be almost touching) and you'll feel a vibration.
              4. -
              5. After it vibrates you'll see the content on your device turn into a card-like object with Star Trek warp speed-looking animation in the background.
              6. -
              7. Tap the card and the content will then load on the other person’s device.
              8. -
              - - diff --git a/OpenKeychain/src/main/res/raw-ru/help_about.html b/OpenKeychain/src/main/res/raw-ru/help_about.html index 4ffd2ba18..21446affa 100644 --- a/OpenKeychain/src/main/res/raw-ru/help_about.html +++ b/OpenKeychain/src/main/res/raw-ru/help_about.html @@ -5,27 +5,27 @@

              OpenKeychain - реализация OpenPGP для Android.

              Лицензия: GPLv3+

              -

              Разработчики OpenKeychain

              +

              Developers

                -
              • Dominik Schürmann (главный разработчик)
              • -
              • Ash Hughes (патчи криптографии)
              • +
              • Dominik Schürmann (Maintainer)
              • +
              • Art O Cathain
              • +
              • Ash Hughes
              • Brian C. Barnes
              • -
              • Bahtiar 'kalkin' Gadimov (UI)
              • +
              • Bahtiar 'kalkin' Gadimov
              • +
              • Daniel Albert
              • Daniel Hammann
              • Daniel Haß
              • Greg Witczak
              • +
              • 'mar-v-in'
              • +
              • Markus Doits
              • Miroojin Bakshi
              • Nikhil Peter Raj
              • Paul Sarbinowski
              • +
              • 'Senecaso'
              • Sreeram Boyapati
              • -
              • Vincent Breitmoser
              • +
              • Thialfihar (APG 1.x)
              • Tim Bray
              • -
              -

              Разработчики APG 1.x

              -
                -
              • Thialfihar (главный разработчик)
              • -
              • 'Senecaso' (QR коды, подписание и загрузка ключей)
              • -
              • Markus Doits
              • +
              • Vincent Breitmoser

              Компоненты

              diff --git a/OpenKeychain/src/main/res/raw-ru/help_changelog.html b/OpenKeychain/src/main/res/raw-ru/help_changelog.html index fc258a623..f74a54762 100644 --- a/OpenKeychain/src/main/res/raw-ru/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-ru/help_changelog.html @@ -1,6 +1,20 @@ +

              2.8

              +
                +
              • So many bugs have been fixed in this release that we focus on the main new features
              • +
              • Key edit: awesome new design, key revocation
              • +
              • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
              • +
              • New first time screen
              • +
              • New create key screen: autocompletion of name and email based on your personal Android accounts
              • +
              • File encryption: awesome new design, support for encrypting multiple files
              • +
              • New icons to show status of key (by Brennan Novak)
              • +
              • Important bug fix: Importing of large key collections from a file is now possible
              • +
              • Notification showing cached passphrases
              • +
              +

              This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

              +

              2.7

              • Пурпурный! (Dominik, Vincent)
              • @@ -11,21 +25,21 @@

              2.6.1

                -
              • исправления найденных ошибок
              • +
              • Some fixes for regression bugs

              2.6

                -
              • сертификация ключей (благодаря Vincent Breitmoser)
              • -
              • поддержка частично-секретных ключей GnuPG (благодаря Vincent Breitmoser)
              • -
              • новый дизайн проверки подписи
              • -
              • произв. длина ключей (благодаря Greg Witczak)
              • -
              • исправление ошибки получения данных от других приложений
              • +
              • Key certifications (thanks to Vincent Breitmoser)
              • +
              • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
              • +
              • New design for signature verification
              • +
              • Custom key length (thanks to Greg Witczak)
              • +
              • Fix share-functionality from other apps

              2.5

                -
              • исправлено симметричное шифрование сообщений/файлов
              • -
              • переработано окно изменения ключа (благодаря Ash Hughes)
              • -
              • новый дизайн для окон шифрования/расшифровки
              • +
              • Fix decryption of symmetric pgp messages/files
              • +
              • Refactored edit key screen (thanks to Ash Hughes)
              • +
              • New modern design for encrypt/decrypt screens
              • OpenPGP API версии 3 (множественные аккаунты, внутренние исправления, поиск ключей)

              2.4

              @@ -33,45 +47,45 @@ Из общего числа патчей, особенный вклад внесли следующие люди (в алфавитном порядке): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

                -
              • новый объединенный список ключей
              • -
              • цветовая индикация отпечатков ключей
              • -
              • поддержка портов серверов ключей
              • -
              • отключена возможность создавать слабые ключи
              • -
              • ещё больше улучшений работы API
              • -
              • сертификация пользовательских данных
              • -
              • запрос к серверу ключей основывается на машинном формате вывода
              • -
              • фиксация панели на планшетах
              • -
              • подсказки email при создании ключей
              • -
              • поиск в списках публичных ключей
              • -
              • и множество других исправлений и улучшений...
              • +
              • New unified key list
              • +
              • Colorized key fingerprint
              • +
              • Support for keyserver ports
              • +
              • Deactivate possibility to generate weak keys
              • +
              • Much more internal work on the API
              • +
              • Certify user ids
              • +
              • Keyserver query based on machine-readable output
              • +
              • Lock navigation drawer on tablets
              • +
              • Suggestions for emails on creation of keys
              • +
              • Search in public key lists
              • +
              • And much more improvements and fixes…

              2.3.1

                -
              • исправление ошибки при обновлении со старых версий
              • +
              • Hotfix for crash when upgrading from old versions

              2.3

                -
              • удален не требующийся экспорт публичного ключа при экспорте секретного ключа (спасибо, Ash Hughes)
              • -
              • исправлена ошибка срока годности ключей (спасибо, Ash Hughes)
              • -
              • исправления ошибок при изменении ключей (спасибо, Ash Hughes)
              • -
              • запрос ключа с сервера прямо из окна импорта ключей
              • -
              • исправление внешнего вида для Android 2.2-3.0
              • -
              • исправлено падение когда ключ не содержал имя пользователя
              • -
              • исправлено падение и пустой список при возвращении из окна подписания
              • +
              • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
              • +
              • Fix setting expiry dates on keys (thanks to Ash Hughes)
              • +
              • More internal fixes when editing keys (thanks to Ash Hughes)
              • +
              • Querying keyservers directly from the import screen
              • +
              • Fix layout and dialog style on Android 2.2-3.0
              • +
              • Fix crash on keys with empty user ids
              • +
              • Fix crash and empty lists when coming back from signing screen
              • криптографическая библиотека Bouncy Castle обновлена до версии 1.50
              • -
              • исправлена загрузка ключа из окна подписания
              • +
              • Fix upload of key from signing screen

              2.2

                -
              • новый дизайн с боковой панелью
              • -
              • новый дизайн списка ключей
              • -
              • новый вид просмотра ключа
              • -
              • исправление ошибок импорта ключей
              • -
              • кросс-сертификация ключей (спасибо, Ash Hughes)
              • -
              • правильная обработка паролей в UTF-8 (спасибо, Ash Hughes)
              • -
              • первая версия с новыми языками (спасибо переводчикам с Transifex)
              • -
              • исправление и улучшение передачи ключей через QR коды
              • -
              • проверка подписей пакетов для API
              • +
              • New design with navigation drawer
              • +
              • New public key list design
              • +
              • New public key view
              • +
              • Bug fixes for importing of keys
              • +
              • Key cross-certification (thanks to Ash Hughes)
              • +
              • Handle UTF-8 passwords properly (thanks to Ash Hughes)
              • +
              • First version with new languages (thanks to the contributors on Transifex)
              • +
              • Sharing of keys via QR Codes fixed and improved
              • +
              • Package signature verification for API

              2.1.1

                @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

              2.1

                -
              • множество исправлений ошибок
              • -
              • новый API для разработчиков
              • +
              • Lots of bug fixes
              • +
              • New API for developers
              • исправление ошибки генератора случайных чисел

              2.0

                -
              • переработка дизайна
              • -
              • передача ключей через QR коды и NFC
              • -
              • подписание ключей
              • -
              • загрузка ключей на сервер
              • -
              • исправление проблем импорта
              • -
              • новый AIDL API
              • +
              • Complete redesign
              • +
              • Share public keys via qr codes, nfc beam
              • +
              • Sign keys
              • +
              • Upload keys to server
              • +
              • Fixes import issues
              • +
              • New AIDL API

              1.0.8

                -
              • поддержка серверов ключей
              • -
              • App2SD
              • -
              • больше вариантов сохранения кэша пароля: 1, 2, 4, 8 часов
              • -
              • переводы: норвежский (спасибо, Sander Danielsen), китайский (спасибо, Zhang Fredrick)
              • -
              • исправления ошибок
              • -
              • оптимизация
              • +
              • Basic keyserver support
              • +
              • App2sd
              • +
              • More choices for pass phrase cache: 1, 2, 4, 8, hours
              • +
              • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
              • +
              • Bugfixes
              • +
              • Optimizations

              1.0.7

                -
              • исправление ошибки при проверке подписи текста с переводом строки
              • -
              • больше вариантов сохранения кэша пароля: 20, 40, 60 минут
              • +
              • Fixed problem with signature verification of texts with trailing newline
              • +
              • More options for pass phrase cache time to live (20, 40, 60 mins)

              1.0.6

                -
              • исправление ошибки создания записи на Froyo
              • -
              • безопасное удаление файлов
              • -
              • удаление файла ключа после импорта
              • -
              • передача шифрования (галерея и т.д.)
              • -
              • новые возможности (язык, v3 подписи)
              • -
              • изменения интерфейса
              • -
              • исправления ошибок
              • +
              • Account adding crash on Froyo fixed
              • +
              • Secure file deletion
              • +
              • Option to delete key file after import
              • +
              • Stream encryption/decryption (gallery, etc.)
              • +
              • New options (language, force v3 signatures)
              • +
              • Interface changes
              • +
              • Bugfixes

              1.0.5

              • новые языки: немецкий, итальянский
              • -
              • уменьшение размера программы
              • -
              • новый интерфейс настроек
              • -
              • изменение вида для локализации
              • -
              • исправление ошибки подписи
              • +
              • Much smaller package, due to reduced BC sources
              • +
              • New preferences GUI
              • +
              • Layout adjustment for localization
              • +
              • Signature bugfix

              1.0.4

                -
              • исправление еще одной ошибки, возникающей в SDK
              • +
              • Fixed another crash caused by some SDK bug with query builder

              1.0.3

                -
              • исправление ошибок при шифровании/подписании и экспорте ключей
              • +
              • Fixed crashes during encryption/signing and possibly key export

              1.0.2

                -
              • фильтр списка ключей
              • -
              • улучшение выбора ключей шифрования
              • -
              • добавлена возможность шифровать файлы прямо из файлового менеджера
              • -
              • исправления ошибок и новые возможности для интеграции с K-9 Mail
              • +
              • Filterable key lists
              • +
              • Smarter pre-selection of encryption keys
              • +
              • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
              • +
              • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

              1.0.1

                @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                1.0.0

                • интеграция с K-9 Mail, APG поддерживает beta-версию K-9 Mail
                • -
                • поддержка сторонних файловых менеджеров (в т.ч. ASTRO)
                • +
                • Support of more file managers (including ASTRO)
                • Словенский перевод
                • -
                • новая база данных, еще быстрее и компактнее
                • -
                • добавлены обработчики для взаимодействия с другими приложениями
                • -
                • исправления ошибок
                • +
                • New database, much faster, less memory usage
                • +
                • Defined Intents and content provider for other apps
                • +
                • Bugfixes
                diff --git a/OpenKeychain/src/main/res/raw-sk/help_about.html b/OpenKeychain/src/main/res/raw-sk/help_about.html deleted file mode 100644 index ab3c19375..000000000 --- a/OpenKeychain/src/main/res/raw-sk/help_about.html +++ /dev/null @@ -1,50 +0,0 @@ - - - -

                http://www.openkeychain.org

                -

                OpenKeychain is an OpenPGP implementation for Android.

                -

                License: GPLv3+

                - -

                Developers OpenKeychain

                -
                  -
                • Dominik Schürmann (Lead developer)
                • -
                • Ash Hughes (crypto patches)
                • -
                • Brian C. Barnes
                • -
                • Bahtiar 'kalkin' Gadimov (UI)
                • -
                • Daniel Hammann
                • -
                • Daniel Haß
                • -
                • Greg Witczak
                • -
                • Miroojin Bakshi
                • -
                • Nikhil Peter Raj
                • -
                • Paul Sarbinowski
                • -
                • Sreeram Boyapati
                • -
                • Vincent Breitmoser
                • -
                • Tim Bray
                • -
                -

                Developers APG 1.x

                -
                  -
                • Thialfihar (Lead developer)
                • -
                • 'Senecaso' (QRCode, sign key, upload key)
                • -
                • Markus Doits
                • -
                -

                Libraries

                - - - diff --git a/OpenKeychain/src/main/res/raw-sk/help_changelog.html b/OpenKeychain/src/main/res/raw-sk/help_changelog.html deleted file mode 100644 index ebada67f9..000000000 --- a/OpenKeychain/src/main/res/raw-sk/help_changelog.html +++ /dev/null @@ -1,156 +0,0 @@ - - - -

                2.7

                -
                  -
                • Purple! (Dominik, Vincent)
                • -
                • New key view design (Dominik, Vincent)
                • -
                • New flat Android buttons (Dominik, Vincent)
                • -
                • API fixes (Dominik)
                • -
                • Keybase.io import (Tim Bray)
                • -
                -

                2.6.1

                -
                  -
                • some fixes for regression bugs
                • -
                -

                2.6

                -
                  -
                • key certifications (thanks to Vincent Breitmoser)
                • -
                • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                • -
                • new design for signature verification
                • -
                • custom key length (thanks to Greg Witczak)
                • -
                • fix share-functionality from other apps
                • -
                -

                2.5

                -
                  -
                • fix decryption of symmetric pgp messages/files
                • -
                • refactored edit key screen (thanks to Ash Hughes)
                • -
                • new modern design for encrypt/decrypt screens
                • -
                • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)
                • -
                -

                2.4

                -

                Thanks to all applicants of Google Summer of Code 2014 who made this release feature rich and bug free! -Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): -Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

                -
                  -
                • new unified key list
                • -
                • colorized key fingerprint
                • -
                • support for keyserver ports
                • -
                • deactivate possibility to generate weak keys
                • -
                • much more internal work on the API
                • -
                • certify user ids
                • -
                • keyserver query based on machine-readable output
                • -
                • lock navigation drawer on tablets
                • -
                • suggestions for emails on creation of keys
                • -
                • search in public key lists
                • -
                • and much more improvements and fixes…
                • -
                -

                2.3.1

                -
                  -
                • hotfix for crash when upgrading from old versions
                • -
                -

                2.3

                -
                  -
                • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                • -
                • fix setting expiry dates on keys (thanks to Ash Hughes)
                • -
                • more internal fixes when editing keys (thanks to Ash Hughes)
                • -
                • querying keyservers directly from the import screen
                • -
                • fix layout and dialog style on Android 2.2-3.0
                • -
                • fix crash on keys with empty user ids
                • -
                • fix crash and empty lists when coming back from signing screen
                • -
                • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
                • -
                • fix upload of key from signing screen
                • -
                -

                2.2

                -
                  -
                • new design with navigation drawer
                • -
                • new public key list design
                • -
                • new public key view
                • -
                • bug fixes for importing of keys
                • -
                • key cross-certification (thanks to Ash Hughes)
                • -
                • handle UTF-8 passwords properly (thanks to Ash Hughes)
                • -
                • first version with new languages (thanks to the contributors on Transifex)
                • -
                • sharing of keys via QR Codes fixed and improved
                • -
                • package signature verification for API
                • -
                -

                2.1.1

                -
                  -
                • API Updates, preparation for K-9 Mail integration
                • -
                -

                2.1

                -
                  -
                • lots of bug fixes
                • -
                • new API for developers
                • -
                • PRNG bug fix by Google
                • -
                -

                2.0

                -
                  -
                • complete redesign
                • -
                • share public keys via qr codes, nfc beam
                • -
                • sign keys
                • -
                • upload keys to server
                • -
                • fixes import issues
                • -
                • new AIDL API
                • -
                -

                1.0.8

                -
                  -
                • basic keyserver support
                • -
                • app2sd
                • -
                • more choices for pass phrase cache: 1, 2, 4, 8, hours
                • -
                • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                • -
                • bugfixes
                • -
                • optimizations
                • -
                -

                1.0.7

                -
                  -
                • fixed problem with signature verification of texts with trailing newline
                • -
                • more options for pass phrase cache time to live (20, 40, 60 mins)
                • -
                -

                1.0.6

                -
                  -
                • account adding crash on Froyo fixed
                • -
                • secure file deletion
                • -
                • option to delete key file after import
                • -
                • stream encryption/decryption (gallery, etc.)
                • -
                • new options (language, force v3 signatures)
                • -
                • interface changes
                • -
                • bugfixes
                • -
                -

                1.0.5

                -
                  -
                • German and Italian translation
                • -
                • much smaller package, due to reduced BC sources
                • -
                • new preferences GUI
                • -
                • layout adjustment for localization
                • -
                • signature bugfix
                • -
                -

                1.0.4

                -
                  -
                • fixed another crash caused by some SDK bug with query builder
                • -
                -

                1.0.3

                -
                  -
                • fixed crashes during encryption/signing and possibly key export
                • -
                -

                1.0.2

                -
                  -
                • filterable key lists
                • -
                • smarter pre-selection of encryption keys
                • -
                • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                • -
                • fixes and additional features (key preselection) for K-9 Mail, new beta build available
                • -
                -

                1.0.1

                -
                  -
                • GMail account listing was broken in 1.0.0, fixed again
                • -
                -

                1.0.0

                -
                  -
                • K-9 Mail integration, APG supporting beta build of K-9 Mail
                • -
                • support of more file managers (including ASTRO)
                • -
                • Slovenian translation
                • -
                • new database, much faster, less memory usage
                • -
                • defined Intents and content provider for other apps
                • -
                • bugfixes
                • -
                - - diff --git a/OpenKeychain/src/main/res/raw-sk/help_nfc_beam.html b/OpenKeychain/src/main/res/raw-sk/help_nfc_beam.html deleted file mode 100644 index 88492731c..000000000 --- a/OpenKeychain/src/main/res/raw-sk/help_nfc_beam.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -

                How to receive keys

                -
                  -
                1. Go to your partners contacts and open the contact you want to share.
                2. -
                3. Hold the two devices back to back (they have to be almost touching) and you’ll feel a vibration.
                4. -
                5. After it vibrates you’ll see the content on your partners device turn into a card-like object with Star Trek warp speed-looking animation in the background.
                6. -
                7. Tap the card and the content will then load on the your device.
                8. -
                - - diff --git a/OpenKeychain/src/main/res/raw-sk/help_start.html b/OpenKeychain/src/main/res/raw-sk/help_start.html deleted file mode 100644 index 51a76c01e..000000000 --- a/OpenKeychain/src/main/res/raw-sk/help_start.html +++ /dev/null @@ -1,22 +0,0 @@ - - - -

                Getting started

                -

                First you need a personal secret key. Create one via the option menus in "Keys" or import existing secret keys. Afterwards, you can download your friends' keys or exchange them via QR Codes or NFC.

                - -

                It is recommended that you install OI File Manager for enhanced file selection and Barcode Scanner to scan generated QR Codes. Clicking on the links will open Google Play Store or F-Droid for installation.

                - -

                Applications

                -

                Several applications support OpenKeychain to encrypt/sign your private communication:

                K-9 Mail: OpenKeychain support available in current alpha build!

                Conversations
                : Jabber/XMPP client

                PGPAuth
                : App to send a PGP-signed request to a server to open or close something, e.g. a door

                - -

                I found a bug in OpenKeychain!

                -

                Please report the bug using the issue tracker of OpenKeychain.

                - -

                Contribute

                -

                If you want to help us developing OpenKeychain by contributing code follow our small guide on Github.

                - -

                Translations

                -

                Help translating OpenKeychain! Everybody can participate at OpenKeychain on Transifex.

                - - - diff --git a/OpenKeychain/src/main/res/raw-sk/help_wot.html b/OpenKeychain/src/main/res/raw-sk/help_wot.html deleted file mode 100644 index 29790139b..000000000 --- a/OpenKeychain/src/main/res/raw-sk/help_wot.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -

                Web of Trust

                -

                The Web of Trust describes the part of PGP which deals with creation and bookkeeping of certifications. It provides mechanisms to help the user keep track of who a public key belongs to, and share this information with others; To ensure the privacy of encrypted communication, it is essential to know that the public key you encrypt to belongs to the person you think it does.

                - -

                Support in OpenKeychain

                -

                There is only basic support for Web of Trust in OpenKeychain. This is a heavy work in progress and subject to changes in upcoming releases.

                - -

                Trust Model

                -

                Trust evaluation is based on the simple assumption that all keys which have secret keys available are trusted. Public keys which contain at least one user id certified by a trusted key will be marked with a green dot in the key listings. It is not (yet) possible to specify trust levels for certificates of other known public keys.

                - -

                Certifying keys

                -

                Support for key certification is available, and user ids can be certified individually. It is not yet possible to specify the level of trust or create local and other special types of certificates.

                - - - diff --git a/OpenKeychain/src/main/res/raw-sk/nfc_beam_share.html b/OpenKeychain/src/main/res/raw-sk/nfc_beam_share.html deleted file mode 100644 index 083e055c7..000000000 --- a/OpenKeychain/src/main/res/raw-sk/nfc_beam_share.html +++ /dev/null @@ -1,11 +0,0 @@ - - - -
                  -
                1. Make sure that NFC is turned on in Settings > More > NFC and make sure that Android Beam is also on in the same section.
                2. -
                3. Hold the two devices back to back (they have to be almost touching) and you'll feel a vibration.
                4. -
                5. After it vibrates you'll see the content on your device turn into a card-like object with Star Trek warp speed-looking animation in the background.
                6. -
                7. Tap the card and the content will then load on the other person’s device.
                8. -
                - - diff --git a/OpenKeychain/src/main/res/raw-sl/help_about.html b/OpenKeychain/src/main/res/raw-sl/help_about.html index 40c487265..85d26f0b3 100644 --- a/OpenKeychain/src/main/res/raw-sl/help_about.html +++ b/OpenKeychain/src/main/res/raw-sl/help_about.html @@ -5,27 +5,27 @@

                OpenKeychain je implementacija OpenPGP za Android.

                Licenca: GPLv3+

                -

                Razvijalci OpenKeychain

                +

                Developers

                  -
                • Dominik Schürmann (glavni razvijalec)
                • -
                • Ash Hughes (kriptografski popravki)
                • +
                • Dominik Schürmann (Maintainer)
                • +
                • Art O Cathain
                • +
                • Ash Hughes
                • Brian C. Barnes
                • -
                • Bahtiar 'kalkin' Gadimov (grafični vmesnik)
                • +
                • Bahtiar 'kalkin' Gadimov
                • +
                • Daniel Albert
                • Daniel Hammann
                • Daniel Haß
                • Greg Witczak
                • +
                • 'mar-v-in'
                • +
                • Markus Doits
                • Miroojin Bakshi
                • Nikhil Peter Raj
                • Paul Sarbinowski
                • +
                • 'Senecaso'
                • Sreeram Boyapati
                • -
                • Vincent Breitmoser
                • +
                • Thialfihar (APG 1.x)
                • Tim Bray
                • -
                -

                Razvijalci APG 1.x

                -
                  -
                • Thialfihar (glavni razvijalec)
                • -
                • 'Senecaso' (kode QR, podpisovanje ključev, nalaganje ključev na strežnik)
                • -
                • Markus Doits
                • +
                • Vincent Breitmoser

                Knjižnice

                diff --git a/OpenKeychain/src/main/res/raw-sl/help_changelog.html b/OpenKeychain/src/main/res/raw-sl/help_changelog.html index 1b48552ab..e5ff10005 100644 --- a/OpenKeychain/src/main/res/raw-sl/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-sl/help_changelog.html @@ -1,6 +1,20 @@ +

                2.8

                +
                  +
                • So many bugs have been fixed in this release that we focus on the main new features
                • +
                • Key edit: awesome new design, key revocation
                • +
                • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
                • +
                • New first time screen
                • +
                • New create key screen: autocompletion of name and email based on your personal Android accounts
                • +
                • File encryption: awesome new design, support for encrypting multiple files
                • +
                • New icons to show status of key (by Brennan Novak)
                • +
                • Important bug fix: Importing of large key collections from a file is now possible
                • +
                • Notification showing cached passphrases
                • +
                +

                This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

                +

                2.7

                • Vijolična! (Dominik, Vincent)
                • @@ -11,21 +25,21 @@

                2.6.1

                  -
                • popravki hroščev ob posodobitvi iz prejšnjih različic
                • +
                • Some fixes for regression bugs

                2.6

                  -
                • overjanje ključev (hvala, Vincent Breitmoser)
                • -
                • podpora delnim zasebnim ključem GnuPG (hvala, Vincent Breitmoser)
                • -
                • nova podoba za preverjanje podpisov
                • -
                • izbirna dolžina ključev (hvala, Greg Witczak)
                • -
                • popravek za deljenje iz drugih aplikacij
                • +
                • Key certifications (thanks to Vincent Breitmoser)
                • +
                • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                • +
                • New design for signature verification
                • +
                • Custom key length (thanks to Greg Witczak)
                • +
                • Fix share-functionality from other apps

                2.5

                  -
                • popravek pri dešifriranju simetrično šifriranih sporočil pgp
                • -
                • popravki kode za okno 'uredi ključ' (hvala, Ash Hughes)
                • -
                • nova, sodobnejša podoba za okna 'šifriraj/dešifriraj'
                • +
                • Fix decryption of symmetric pgp messages/files
                • +
                • Refactored edit key screen (thanks to Ash Hughes)
                • +
                • New modern design for encrypt/decrypt screens
                • API OpenPGP, verzija 3 (podpora za več API računov, interni popravki, iskanje ključev)

                2.4

                @@ -33,45 +47,45 @@ Največje število popravkov je bilo s strani naslednjih ljudi (po abecednem vrstnem redu): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

                  -
                • nov enoten seznam ključev
                • -
                • obarvanje prstnih odtisov ključev
                • -
                • podpora za vrata strežnikov
                • -
                • odstranitev možnosti generiranja šibkih ključev
                • -
                • veliko internega dela na API-ju
                • -
                • overjanje uporabniških ID-jev
                • -
                • iskanje po strežnikih na osnovi strojno berljivih izpisov
                • -
                • zaklep navigacijskega poteznika na tabličnih računalnikih
                • -
                • namigi za izbiro e-poštnih naslovov pri ustvarjanju ključev
                • -
                • iskanje po seznamu javnih ključev
                • -
                • in še veliko drugih izboljšav in popravkov...
                • +
                • New unified key list
                • +
                • Colorized key fingerprint
                • +
                • Support for keyserver ports
                • +
                • Deactivate possibility to generate weak keys
                • +
                • Much more internal work on the API
                • +
                • Certify user ids
                • +
                • Keyserver query based on machine-readable output
                • +
                • Lock navigation drawer on tablets
                • +
                • Suggestions for emails on creation of keys
                • +
                • Search in public key lists
                • +
                • And much more improvements and fixes…

                2.3.1

                  -
                • sesutje pri nadgraditvi iz starejših različic, hitri popravek
                • +
                • Hotfix for crash when upgrading from old versions

                2.3

                  -
                • odprava nepotrebnega hkratnega izvoza javnih ključev ob izvozu zasebnih (hvala, Ash Hughes)
                • -
                • popravek nastavitev datumov poteka ključev (hvala, Ash Hughes)
                • -
                • več internih popravkov pri urejanju ključev (hvala, Ash Hughes)
                • -
                • iskanje strežnikov naravnost iz uvoznega okna
                • -
                • popravki za razporeditev in pogovorna okna na Androidu 2.2-3.0
                • -
                • sesutje pri ključih s praznim uporabniškim ID-jem, popravek
                • -
                • sesutje in prazen seznam ob povratku iz podpisovalnega okna, popravek
                • +
                • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                • +
                • Fix setting expiry dates on keys (thanks to Ash Hughes)
                • +
                • More internal fixes when editing keys (thanks to Ash Hughes)
                • +
                • Querying keyservers directly from the import screen
                • +
                • Fix layout and dialog style on Android 2.2-3.0
                • +
                • Fix crash on keys with empty user ids
                • +
                • Fix crash and empty lists when coming back from signing screen
                • Bouncy Castle (kriptografska knjižnica) nadgrajen iz 1.47 na 1.50 in izgrajen iz izvorne kode
                • -
                • nalaganje ključev iz podpisovalnega okna, popravek
                • +
                • Fix upload of key from signing screen

                2.2

                  -
                • nova podoba za navigacijski poteznik
                • -
                • nova podoba za seznam javnih ključev
                • -
                • nova podoba okna za ogled posameznih javnih ključev
                • -
                • odprava hroščev pri uvozu ključev
                • -
                • navzkrižno overjanje ključev (hvala, Ash Hughes)
                • -
                • pravilno upravljanje gesel v formatu UTF-8 (hvala, Ash Hughes)
                • -
                • prva različica z novimi jeziki (hvala prevajalcem iz portala Transifex)
                • -
                • izbojšave in popravki za deljenje ključev preko kod QR
                • -
                • preverjanje podpisov paketov za API
                • +
                • New design with navigation drawer
                • +
                • New public key list design
                • +
                • New public key view
                • +
                • Bug fixes for importing of keys
                • +
                • Key cross-certification (thanks to Ash Hughes)
                • +
                • Handle UTF-8 passwords properly (thanks to Ash Hughes)
                • +
                • First version with new languages (thanks to the contributors on Transifex)
                • +
                • Sharing of keys via QR Codes fixed and improved
                • +
                • Package signature verification for API

                2.1.1

                  @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                2.1

                  -
                • veliko število popravkov hroščev
                • -
                • nov API za razvijalce
                • +
                • Lots of bug fixes
                • +
                • New API for developers
                • popravek za hrošč PRNG, prispeval Google

                2.0

                  -
                • kompletna prenova izgleda
                • -
                • deljenje javnih ključev preko kod QR in 'NFC Beam-a'
                • -
                • podpisovanje ključev
                • -
                • nalaganje ključev na strežnik
                • -
                • popravki problemov z uvozom
                • -
                • nov API za AIDL
                • +
                • Complete redesign
                • +
                • Share public keys via qr codes, nfc beam
                • +
                • Sign keys
                • +
                • Upload keys to server
                • +
                • Fixes import issues
                • +
                • New AIDL API

                1.0.8

                  -
                • osnovna podpora za strežnike javnih ključev
                • -
                • podpora app2sd
                • -
                • več možnosti pomnjenja gesla: 1, 2, 4, 8 ur
                • -
                • prevodi: Norveško (hvala, Sander Danielsen), Kitajsko (hvala, Zhang Fredrick)
                • -
                • popravki hroščev
                • -
                • optimizacije
                • +
                • Basic keyserver support
                • +
                • App2sd
                • +
                • More choices for pass phrase cache: 1, 2, 4, 8, hours
                • +
                • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                • +
                • Bugfixes
                • +
                • Optimizations

                1.0.7

                  -
                • odpravljen problem pri preverjanju podpisov besedil
                • -
                • več možnosti za pomnjenje gesla v spominu (20, 40, 60 min)
                • +
                • Fixed problem with signature verification of texts with trailing newline
                • +
                • More options for pass phrase cache time to live (20, 40, 60 mins)

                1.0.6

                  -
                • sesutje ob dodajanju računa na napravah Froyo, popravek
                • -
                • varno brisanje datotek
                • -
                • možnost izbrisa datoteke s ključem po uvozu v aplikacijo
                • -
                • šifriranje/dešifriranje toka (galerija, itd.)
                • -
                • nove opcije (jezik, vsili podpis v3)
                • -
                • spremembe vmesnika
                • -
                • popravki hroščev
                • +
                • Account adding crash on Froyo fixed
                • +
                • Secure file deletion
                • +
                • Option to delete key file after import
                • +
                • Stream encryption/decryption (gallery, etc.)
                • +
                • New options (language, force v3 signatures)
                • +
                • Interface changes
                • +
                • Bugfixes

                1.0.5

                • Nemški in Italijanski prevod
                • -
                • veliko manjša velikost paketa
                • -
                • nove nastavitve grafičnega vmesnika
                • -
                • prilagoditev vmesnika za lokalizacije
                • -
                • popravki pri podpisovanju
                • +
                • Much smaller package, due to reduced BC sources
                • +
                • New preferences GUI
                • +
                • Layout adjustment for localization
                • +
                • Signature bugfix

                1.0.4

                  -
                • sesutje zaradi hrošča v SDK, popravek
                • +
                • Fixed another crash caused by some SDK bug with query builder

                1.0.3

                  -
                • sesutja ob šifriranju/podpisovanju in verjetno tudi izvozu ključev, popravek
                • +
                • Fixed crashes during encryption/signing and possibly key export

                1.0.2

                  -
                • filtriranje seznama ključev
                • -
                • pametnejši predizbor šifrirnih ključev
                • -
                • nov način upravljanja z 'nameni' za 'ODPRI' in 'POŠLJI', omogoča šifriranje/dešifriranje datotek izven upravljalnikov datotek.
                • -
                • popravki in dodatne funkcije (predizbira ključev) za aplikacijo 'K-9 Mail', nova beta različica
                • +
                • Filterable key lists
                • +
                • Smarter pre-selection of encryption keys
                • +
                • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                • +
                • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

                1.0.1

                  @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                  1.0.0

                  • integracija z aplikacijo 'K-9 Mail', APG podpira različico beta te aplikacije
                  • -
                  • podpora za več upravljalnikov datotek (mdr. Astro)
                  • +
                  • Support of more file managers (including ASTRO)
                  • Slovenski prevod
                  • -
                  • nova baza podatkov, hitrejše delovanje, manjša raba pomnilnika
                  • -
                  • definirani 'nameni' in vsebina ponudnikov za druge aplikacije
                  • -
                  • popravki hroščev
                  • +
                  • New database, much faster, less memory usage
                  • +
                  • Defined Intents and content provider for other apps
                  • +
                  • Bugfixes
                  diff --git a/OpenKeychain/src/main/res/raw-tr/help_about.html b/OpenKeychain/src/main/res/raw-tr/help_about.html index db577c6a3..08c4706ee 100644 --- a/OpenKeychain/src/main/res/raw-tr/help_about.html +++ b/OpenKeychain/src/main/res/raw-tr/help_about.html @@ -5,27 +5,27 @@

                  OpenKeychain is an OpenPGP implementation for Android.

                  Lisans: GPLv3+

                  -

                  Developers OpenKeychain

                  +

                  Developers

                    -
                  • Dominik Schürmann (Baş geliştirici)
                  • -
                  • Ash Hughes (kripto yamaları)
                  • +
                  • Dominik Schürmann (Maintainer)
                  • +
                  • Art O Cathain
                  • +
                  • Ash Hughes
                  • Brian C. Barnes
                  • -
                  • Bahtiar 'kalkin' Gadimov (Arayüz)
                  • +
                  • Bahtiar 'kalkin' Gadimov
                  • +
                  • Daniel Albert
                  • Daniel Hammann
                  • Daniel Haß
                  • Greg Witczak
                  • +
                  • 'mar-v-in'
                  • +
                  • Markus Doits
                  • Miroojin Bakshi
                  • Nikhil Peter Raj
                  • Paul Sarbinowski
                  • +
                  • 'Senecaso'
                  • Sreeram Boyapati
                  • -
                  • Vincent Breitmoser
                  • +
                  • Thialfihar (APG 1.x)
                  • Tim Bray
                  • -
                  -

                  Geliştiriciler APG 1.x

                  -
                    -
                  • Thialfihar (Lead developer)
                  • -
                  • 'Senecaso' (QR Kodu, anahtar imzalama, anahtar yükleme)
                  • -
                  • Markus Doits
                  • +
                  • Vincent Breitmoser

                  Kütüphaneler

                  diff --git a/OpenKeychain/src/main/res/raw-tr/help_changelog.html b/OpenKeychain/src/main/res/raw-tr/help_changelog.html index ebada67f9..e27ac7475 100644 --- a/OpenKeychain/src/main/res/raw-tr/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-tr/help_changelog.html @@ -1,6 +1,20 @@ +

                  2.8

                  +
                    +
                  • So many bugs have been fixed in this release that we focus on the main new features
                  • +
                  • Key edit: awesome new design, key revocation
                  • +
                  • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
                  • +
                  • New first time screen
                  • +
                  • New create key screen: autocompletion of name and email based on your personal Android accounts
                  • +
                  • File encryption: awesome new design, support for encrypting multiple files
                  • +
                  • New icons to show status of key (by Brennan Novak)
                  • +
                  • Important bug fix: Importing of large key collections from a file is now possible
                  • +
                  • Notification showing cached passphrases
                  • +
                  +

                  This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

                  +

                  2.7

                  • Purple! (Dominik, Vincent)
                  • @@ -11,21 +25,21 @@

                  2.6.1

                    -
                  • some fixes for regression bugs
                  • +
                  • Some fixes for regression bugs

                  2.6

                    -
                  • key certifications (thanks to Vincent Breitmoser)
                  • -
                  • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                  • -
                  • new design for signature verification
                  • -
                  • custom key length (thanks to Greg Witczak)
                  • -
                  • fix share-functionality from other apps
                  • +
                  • Key certifications (thanks to Vincent Breitmoser)
                  • +
                  • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                  • +
                  • New design for signature verification
                  • +
                  • Custom key length (thanks to Greg Witczak)
                  • +
                  • Fix share-functionality from other apps

                  2.5

                    -
                  • fix decryption of symmetric pgp messages/files
                  • -
                  • refactored edit key screen (thanks to Ash Hughes)
                  • -
                  • new modern design for encrypt/decrypt screens
                  • +
                  • Fix decryption of symmetric pgp messages/files
                  • +
                  • Refactored edit key screen (thanks to Ash Hughes)
                  • +
                  • New modern design for encrypt/decrypt screens
                  • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)

                  2.4

                  @@ -33,45 +47,45 @@ Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

                    -
                  • new unified key list
                  • -
                  • colorized key fingerprint
                  • -
                  • support for keyserver ports
                  • -
                  • deactivate possibility to generate weak keys
                  • -
                  • much more internal work on the API
                  • -
                  • certify user ids
                  • -
                  • keyserver query based on machine-readable output
                  • -
                  • lock navigation drawer on tablets
                  • -
                  • suggestions for emails on creation of keys
                  • -
                  • search in public key lists
                  • -
                  • and much more improvements and fixes…
                  • +
                  • New unified key list
                  • +
                  • Colorized key fingerprint
                  • +
                  • Support for keyserver ports
                  • +
                  • Deactivate possibility to generate weak keys
                  • +
                  • Much more internal work on the API
                  • +
                  • Certify user ids
                  • +
                  • Keyserver query based on machine-readable output
                  • +
                  • Lock navigation drawer on tablets
                  • +
                  • Suggestions for emails on creation of keys
                  • +
                  • Search in public key lists
                  • +
                  • And much more improvements and fixes…

                  2.3.1

                    -
                  • hotfix for crash when upgrading from old versions
                  • +
                  • Hotfix for crash when upgrading from old versions

                  2.3

                    -
                  • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                  • -
                  • fix setting expiry dates on keys (thanks to Ash Hughes)
                  • -
                  • more internal fixes when editing keys (thanks to Ash Hughes)
                  • -
                  • querying keyservers directly from the import screen
                  • -
                  • fix layout and dialog style on Android 2.2-3.0
                  • -
                  • fix crash on keys with empty user ids
                  • -
                  • fix crash and empty lists when coming back from signing screen
                  • +
                  • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                  • +
                  • Fix setting expiry dates on keys (thanks to Ash Hughes)
                  • +
                  • More internal fixes when editing keys (thanks to Ash Hughes)
                  • +
                  • Querying keyservers directly from the import screen
                  • +
                  • Fix layout and dialog style on Android 2.2-3.0
                  • +
                  • Fix crash on keys with empty user ids
                  • +
                  • Fix crash and empty lists when coming back from signing screen
                  • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
                  • -
                  • fix upload of key from signing screen
                  • +
                  • Fix upload of key from signing screen

                  2.2

                    -
                  • new design with navigation drawer
                  • -
                  • new public key list design
                  • -
                  • new public key view
                  • -
                  • bug fixes for importing of keys
                  • -
                  • key cross-certification (thanks to Ash Hughes)
                  • -
                  • handle UTF-8 passwords properly (thanks to Ash Hughes)
                  • -
                  • first version with new languages (thanks to the contributors on Transifex)
                  • -
                  • sharing of keys via QR Codes fixed and improved
                  • -
                  • package signature verification for API
                  • +
                  • New design with navigation drawer
                  • +
                  • New public key list design
                  • +
                  • New public key view
                  • +
                  • Bug fixes for importing of keys
                  • +
                  • Key cross-certification (thanks to Ash Hughes)
                  • +
                  • Handle UTF-8 passwords properly (thanks to Ash Hughes)
                  • +
                  • First version with new languages (thanks to the contributors on Transifex)
                  • +
                  • Sharing of keys via QR Codes fixed and improved
                  • +
                  • Package signature verification for API

                  2.1.1

                    @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                  2.1

                    -
                  • lots of bug fixes
                  • -
                  • new API for developers
                  • +
                  • Lots of bug fixes
                  • +
                  • New API for developers
                  • PRNG bug fix by Google

                  2.0

                    -
                  • complete redesign
                  • -
                  • share public keys via qr codes, nfc beam
                  • -
                  • sign keys
                  • -
                  • upload keys to server
                  • -
                  • fixes import issues
                  • -
                  • new AIDL API
                  • +
                  • Complete redesign
                  • +
                  • Share public keys via qr codes, nfc beam
                  • +
                  • Sign keys
                  • +
                  • Upload keys to server
                  • +
                  • Fixes import issues
                  • +
                  • New AIDL API

                  1.0.8

                    -
                  • basic keyserver support
                  • -
                  • app2sd
                  • -
                  • more choices for pass phrase cache: 1, 2, 4, 8, hours
                  • -
                  • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                  • -
                  • bugfixes
                  • -
                  • optimizations
                  • +
                  • Basic keyserver support
                  • +
                  • App2sd
                  • +
                  • More choices for pass phrase cache: 1, 2, 4, 8, hours
                  • +
                  • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                  • +
                  • Bugfixes
                  • +
                  • Optimizations

                  1.0.7

                    -
                  • fixed problem with signature verification of texts with trailing newline
                  • -
                  • more options for pass phrase cache time to live (20, 40, 60 mins)
                  • +
                  • Fixed problem with signature verification of texts with trailing newline
                  • +
                  • More options for pass phrase cache time to live (20, 40, 60 mins)

                  1.0.6

                    -
                  • account adding crash on Froyo fixed
                  • -
                  • secure file deletion
                  • -
                  • option to delete key file after import
                  • -
                  • stream encryption/decryption (gallery, etc.)
                  • -
                  • new options (language, force v3 signatures)
                  • -
                  • interface changes
                  • -
                  • bugfixes
                  • +
                  • Account adding crash on Froyo fixed
                  • +
                  • Secure file deletion
                  • +
                  • Option to delete key file after import
                  • +
                  • Stream encryption/decryption (gallery, etc.)
                  • +
                  • New options (language, force v3 signatures)
                  • +
                  • Interface changes
                  • +
                  • Bugfixes

                  1.0.5

                  • German and Italian translation
                  • -
                  • much smaller package, due to reduced BC sources
                  • -
                  • new preferences GUI
                  • -
                  • layout adjustment for localization
                  • -
                  • signature bugfix
                  • +
                  • Much smaller package, due to reduced BC sources
                  • +
                  • New preferences GUI
                  • +
                  • Layout adjustment for localization
                  • +
                  • Signature bugfix

                  1.0.4

                    -
                  • fixed another crash caused by some SDK bug with query builder
                  • +
                  • Fixed another crash caused by some SDK bug with query builder

                  1.0.3

                    -
                  • fixed crashes during encryption/signing and possibly key export
                  • +
                  • Fixed crashes during encryption/signing and possibly key export

                  1.0.2

                    -
                  • filterable key lists
                  • -
                  • smarter pre-selection of encryption keys
                  • -
                  • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                  • -
                  • fixes and additional features (key preselection) for K-9 Mail, new beta build available
                  • +
                  • Filterable key lists
                  • +
                  • Smarter pre-selection of encryption keys
                  • +
                  • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                  • +
                  • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

                  1.0.1

                    @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                    1.0.0

                    • K-9 Mail integration, APG supporting beta build of K-9 Mail
                    • -
                    • support of more file managers (including ASTRO)
                    • +
                    • Support of more file managers (including ASTRO)
                    • Slovenian translation
                    • -
                    • new database, much faster, less memory usage
                    • -
                    • defined Intents and content provider for other apps
                    • -
                    • bugfixes
                    • +
                    • New database, much faster, less memory usage
                    • +
                    • Defined Intents and content provider for other apps
                    • +
                    • Bugfixes
                    diff --git a/OpenKeychain/src/main/res/raw-uk/help_about.html b/OpenKeychain/src/main/res/raw-uk/help_about.html index f6e65071c..92fd7db13 100644 --- a/OpenKeychain/src/main/res/raw-uk/help_about.html +++ b/OpenKeychain/src/main/res/raw-uk/help_about.html @@ -5,27 +5,27 @@

                    OpenKeychain імплементація OpenPGP для Андроїду.

                    Ліцензія: GPLv3+

                    -

                    Розробники OpenPGP Keychain

                    +

                    Developers

                      -
                    • Домінік Шурман (основний розробник)
                    • -
                    • Аш Гюдж (латки шифрування)
                    • +
                    • Dominik Schürmann (Maintainer)
                    • +
                    • Art O Cathain
                    • +
                    • Ash Hughes
                    • Браян С. Барнс
                    • -
                    • Бахтіяр 'kalkin' Ґадімов (інтерфейс)
                    • +
                    • Bahtiar 'kalkin' Gadimov
                    • +
                    • Daniel Albert
                    • Даніель Гаман
                    • Даніель Габ
                    • Ґреґ Вітчак
                    • +
                    • 'mar-v-in'
                    • +
                    • Маркус Дойтс
                    • Міроджін Бакші
                    • Ніхіл Петер Радж
                    • Пауль Сарбіновський
                    • +
                    • 'Senecaso'
                    • Срірам Вояпаті
                    • -
                    • Вінсент Брейтмозер
                    • +
                    • Thialfihar (APG 1.x)
                    • Тім Брей
                    • -
                    -

                    Розробники APG 1.x

                    -
                      -
                    • Thialfihar (основний розробник)
                    • -
                    • 'Senecaso' (штрих-код, підпис і завантаження ключів)
                    • -
                    • Маркус Дойтс
                    • +
                    • Вінсент Брейтмозер

                    Бібліотеки

                    diff --git a/OpenKeychain/src/main/res/raw-uk/help_changelog.html b/OpenKeychain/src/main/res/raw-uk/help_changelog.html index b40eca76e..7ecb25c2b 100644 --- a/OpenKeychain/src/main/res/raw-uk/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-uk/help_changelog.html @@ -1,6 +1,20 @@ +

                    2.8

                    +
                      +
                    • So many bugs have been fixed in this release that we focus on the main new features
                    • +
                    • Key edit: awesome new design, key revocation
                    • +
                    • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
                    • +
                    • New first time screen
                    • +
                    • New create key screen: autocompletion of name and email based on your personal Android accounts
                    • +
                    • File encryption: awesome new design, support for encrypting multiple files
                    • +
                    • New icons to show status of key (by Brennan Novak)
                    • +
                    • Important bug fix: Importing of large key collections from a file is now possible
                    • +
                    • Notification showing cached passphrases
                    • +
                    +

                    This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

                    +

                    2.7

                    • Багряний! (Домінік, Вінсент)
                    • @@ -11,21 +25,21 @@

                    2.6.1

                      -
                    • деякі виправлення для накопичених вад
                    • +
                    • Some fixes for regression bugs

                    2.6

                      -
                    • сертифікації ключів (завдяки Вінсенту Бреймозеру)
                    • -
                    • підтримка часткових секретних ключів для GnuPG (завдяки Вінсенту Брейтмозеру)
                    • -
                    • новий дизайн для перевірки підпису
                    • -
                    • власна довжина ключа (завдяки Ґреґу Вітчаку)
                    • -
                    • виправлено функцію поширення з інших програм
                    • +
                    • Key certifications (thanks to Vincent Breitmoser)
                    • +
                    • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                    • +
                    • New design for signature verification
                    • +
                    • Custom key length (thanks to Greg Witczak)
                    • +
                    • Fix share-functionality from other apps

                    2.5

                      -
                    • виправлено опис симетричних повідомлень/файлів pgp
                    • -
                    • перероблено екран редагування ключа (завдяки Ash Hughes)
                    • -
                    • новий сучасний дизайн для екранів шифрування/розшифрування
                    • +
                    • Fix decryption of symmetric pgp messages/files
                    • +
                    • Refactored edit key screen (thanks to Ash Hughes)
                    • +
                    • New modern design for encrypt/decrypt screens
                    • OpenPGP API версія 3 (підтримка кількох профілів, внутрішні зміни, пошук ключа)

                    2.4

                    @@ -33,45 +47,45 @@ Крім окремих незначних латок, значне число латок зробили наступні люди (у алфавітному порядку): Даніель Гаман, Даніель Габ, Ґреґ Вітчак, Міроджін Бакші, Ніхіл Петер Радж, Пауль Сарбіновський, Срірам Бояпаті, Вінсент Брейтмосер.

                      -
                    • новий єдиний перелік ключів
                    • -
                    • кольоровий відбиток ключа
                    • -
                    • підтримка для портів сервера ключів
                    • -
                    • деактивувати можливість генерувати слабкі ключі
                    • -
                    • набагато більше внутрішньої роботи на API
                    • -
                    • сертифікувати ідентифікатори користувача
                    • -
                    • запит сервера ключів на основі машиночитабельного виводу
                    • -
                    • блокувати панель навігації на планшетах
                    • -
                    • пропозиції для листів при створенні ключів
                    • -
                    • пошук у списках відкритих ключів
                    • -
                    • і багато інших покращень та виправлень…
                    • +
                    • New unified key list
                    • +
                    • Colorized key fingerprint
                    • +
                    • Support for keyserver ports
                    • +
                    • Deactivate possibility to generate weak keys
                    • +
                    • Much more internal work on the API
                    • +
                    • Certify user ids
                    • +
                    • Keyserver query based on machine-readable output
                    • +
                    • Lock navigation drawer on tablets
                    • +
                    • Suggestions for emails on creation of keys
                    • +
                    • Search in public key lists
                    • +
                    • And much more improvements and fixes…

                    2.3.1

                      -
                    • свіже виправлення збою при оновленні із старих версій
                    • +
                    • Hotfix for crash when upgrading from old versions

                    2.3

                      -
                    • видалений непотрібний експорт публічного ключа при експорті секретного ключа (завдяки Ash Hughes)
                    • -
                    • виправлено налаштування дат дії ключів (завдяки Ash Hughes)
                    • -
                    • більше внутрішніх виправлень при редагуванні ключів (завдяки Ash Hughes)
                    • -
                    • сервери запитаного ключа безпосередньо з екрану імпорту
                    • -
                    • виправлено стиль розмітки і діалогу у Андроїд 2.2-3.0
                    • -
                    • виправлено збої, коли ключ мав порожній ідентифікатор користувача
                    • -
                    • виправлено збої та порожні списки при поверненні з екрану реєстрації
                    • +
                    • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                    • +
                    • Fix setting expiry dates on keys (thanks to Ash Hughes)
                    • +
                    • More internal fixes when editing keys (thanks to Ash Hughes)
                    • +
                    • Querying keyservers directly from the import screen
                    • +
                    • Fix layout and dialog style on Android 2.2-3.0
                    • +
                    • Fix crash on keys with empty user ids
                    • +
                    • Fix crash and empty lists when coming back from signing screen
                    • Bouncy Castle (криптографічна бібліотека) оновлена з версії 1.47 до 1.50 та зібрана з коду
                    • -
                    • виправлено завантаження ключа з вікна реєстрації
                    • +
                    • Fix upload of key from signing screen

                    2.2

                      -
                    • новий дизайн з бічною панеллю
                    • -
                    • новий дизайн списку ключів
                    • -
                    • новий вид перегляду ключа
                    • -
                    • виправлення помилок імпорту ключів
                    • -
                    • Крос-сертифікація ключів (завдяки Ash Hughes)
                    • -
                    • правильна обробка паролів в UTF-8 (завдяки Ash Hughes)
                    • -
                    • перша версія з новими мовами (завдяки перекладачам на Transifex)
                    • -
                    • виправлення і поліпшення передачі ключів через QR коди
                    • -
                    • перевірка підписів пакетів для API
                    • +
                    • New design with navigation drawer
                    • +
                    • New public key list design
                    • +
                    • New public key view
                    • +
                    • Bug fixes for importing of keys
                    • +
                    • Key cross-certification (thanks to Ash Hughes)
                    • +
                    • Handle UTF-8 passwords properly (thanks to Ash Hughes)
                    • +
                    • First version with new languages (thanks to the contributors on Transifex)
                    • +
                    • Sharing of keys via QR Codes fixed and improved
                    • +
                    • Package signature verification for API

                    2.1.1

                      @@ -79,65 +93,65 @@

                    2.1

                      -
                    • безліч виправлень помилок
                    • -
                    • новий API для розробників
                    • +
                    • Lots of bug fixes
                    • +
                    • New API for developers
                    • Виправлення вади генератора випадкових чисел від Google

                    2.0

                      -
                    • переробка дизайну
                    • -
                    • передача ключів через QR-коди і NFC
                    • -
                    • підписання ключів
                    • -
                    • завантаження на сервер ключів
                    • -
                    • виправлення проблем імпорту
                    • -
                    • новий AIDL API
                    • +
                    • Complete redesign
                    • +
                    • Share public keys via qr codes, nfc beam
                    • +
                    • Sign keys
                    • +
                    • Upload keys to server
                    • +
                    • Fixes import issues
                    • +
                    • New AIDL API

                    1.0.8

                      -
                    • підтримка сервера основних ключів
                    • -
                    • app2sd
                    • -
                    • більше варіантів збереження кешу пароля: 1, 2, 4, 8 годин
                    • -
                    • переклади: норвезькою (завдяки Сандер Даніельсен), китайською (завдяки Чжан Фредріку)
                    • -
                    • виправлення вад
                    • -
                    • оптимізації
                    • +
                    • Basic keyserver support
                    • +
                    • App2sd
                    • +
                    • More choices for pass phrase cache: 1, 2, 4, 8, hours
                    • +
                    • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                    • +
                    • Bugfixes
                    • +
                    • Optimizations

                    1.0.7

                      -
                    • виправлення помилки при перевірці підпису тексту з переведенням рядка
                    • -
                    • більше варіантів збереження кешу пароля (20, 40, 60 хвилин)
                    • +
                    • Fixed problem with signature verification of texts with trailing newline
                    • +
                    • More options for pass phrase cache time to live (20, 40, 60 mins)

                    1.0.6

                      -
                    • виправлення помилки створення запису на Froyo
                    • -
                    • вилучення безпечного файлу
                    • -
                    • вилучення файлу ключа після імпорту
                    • -
                    • передача шифрування (галерея і т. д.)
                    • -
                    • нові можливості (мова, примусові v3 підписи)
                    • -
                    • зміни інтерфейсу
                    • -
                    • виправлення вад
                    • +
                    • Account adding crash on Froyo fixed
                    • +
                    • Secure file deletion
                    • +
                    • Option to delete key file after import
                    • +
                    • Stream encryption/decryption (gallery, etc.)
                    • +
                    • New options (language, force v3 signatures)
                    • +
                    • Interface changes
                    • +
                    • Bugfixes

                    1.0.5

                    • Німецький та італійський переклад
                    • -
                    • істотно менший пакунок програми завдяки зменшенню джерел
                    • -
                    • нові налаштунки інтерфейсу
                    • -
                    • зміна розмітки для локалізації
                    • -
                    • виправлення помилки підпису
                    • +
                    • Much smaller package, due to reduced BC sources
                    • +
                    • New preferences GUI
                    • +
                    • Layout adjustment for localization
                    • +
                    • Signature bugfix

                    1.0.4

                      -
                    • виправлення ще однієї помилки, що виникає в SDK
                    • +
                    • Fixed another crash caused by some SDK bug with query builder

                    1.0.3

                      -
                    • виправлення помилок при шифруванні/підписанні та експорті ключів
                    • +
                    • Fixed crashes during encryption/signing and possibly key export

                    1.0.2

                      -
                    • фільтр списку ключів
                    • -
                    • поліпшення вибору ключів шифрування
                    • -
                    • додана можливість шифрувати файли прямо з файлового менеджера
                    • -
                    • виправлення помилок і нові можливості (попередній вибір ключа) для інтеграції з K-9 Mail, нова бета-збірка доступна
                    • +
                    • Filterable key lists
                    • +
                    • Smarter pre-selection of encryption keys
                    • +
                    • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                    • +
                    • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

                    1.0.1

                      @@ -146,11 +160,11 @@

                      1.0.0

                      • інтеграція з K-9 Mail, APG підтримує бета-збірку K-9 Mail
                      • -
                      • підтримка сторонніх файлових менеджерів (в т.ч. ASTRO)
                      • +
                      • Support of more file managers (including ASTRO)
                      • Словенський переклад
                      • -
                      • нова база даних, швидша робота, менше використання пам'яті
                      • -
                      • додано обробники для взаємодії з іншими програмами
                      • -
                      • виправлення вад
                      • +
                      • New database, much faster, less memory usage
                      • +
                      • Defined Intents and content provider for other apps
                      • +
                      • Bugfixes
                      diff --git a/OpenKeychain/src/main/res/raw-zh/help_about.html b/OpenKeychain/src/main/res/raw-zh/help_about.html index c9f76dd7c..19134061a 100644 --- a/OpenKeychain/src/main/res/raw-zh/help_about.html +++ b/OpenKeychain/src/main/res/raw-zh/help_about.html @@ -5,27 +5,27 @@

                      OpenKeychain is an OpenPGP implementation for Android.

                      授權:GPLv3+

                      -

                      Developers OpenKeychain

                      +

                      Developers

                        -
                      • Dominik Schürmann (Lead developer)
                      • -
                      • Ash Hughes (crypto patches)
                      • +
                      • Dominik Schürmann (Maintainer)
                      • +
                      • Art O Cathain
                      • +
                      • Ash Hughes
                      • Brian C. Barnes
                      • -
                      • Bahtiar 'kalkin' Gadimov (介面)
                      • +
                      • Bahtiar 'kalkin' Gadimov
                      • +
                      • Daniel Albert
                      • Daniel Hammann
                      • Daniel Haß
                      • Greg Witczak
                      • +
                      • 'mar-v-in'
                      • +
                      • Markus Doits
                      • Miroojin Bakshi
                      • Nikhil Peter Raj
                      • Paul Sarbinowski
                      • +
                      • 'Senecaso'
                      • Sreeram Boyapati
                      • -
                      • Vincent Breitmoser
                      • +
                      • Thialfihar (APG 1.x)
                      • Tim Bray
                      • -
                      -

                      Developers APG 1.x

                      -
                        -
                      • Thialfihar (Lead developer)
                      • -
                      • 'Senecaso' (QRCode, sign key, upload key)
                      • -
                      • Markus Doits
                      • +
                      • Vincent Breitmoser

                      函式庫

                      diff --git a/OpenKeychain/src/main/res/raw-zh/help_changelog.html b/OpenKeychain/src/main/res/raw-zh/help_changelog.html index ebada67f9..e27ac7475 100644 --- a/OpenKeychain/src/main/res/raw-zh/help_changelog.html +++ b/OpenKeychain/src/main/res/raw-zh/help_changelog.html @@ -1,6 +1,20 @@ +

                      2.8

                      +
                        +
                      • So many bugs have been fixed in this release that we focus on the main new features
                      • +
                      • Key edit: awesome new design, key revocation
                      • +
                      • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
                      • +
                      • New first time screen
                      • +
                      • New create key screen: autocompletion of name and email based on your personal Android accounts
                      • +
                      • File encryption: awesome new design, support for encrypting multiple files
                      • +
                      • New icons to show status of key (by Brennan Novak)
                      • +
                      • Important bug fix: Importing of large key collections from a file is now possible
                      • +
                      • Notification showing cached passphrases
                      • +
                      +

                      This release wouldn't be possible without the work of Vincent Breitmoser (GSoC 2014), mar-v-in (GSoC 2014), Daniel Albert, Art O Cathain, Daniel Haß, Tim Bray, Thialfihar

                      +

                      2.7

                      • Purple! (Dominik, Vincent)
                      • @@ -11,21 +25,21 @@

                      2.6.1

                        -
                      • some fixes for regression bugs
                      • +
                      • Some fixes for regression bugs

                      2.6

                        -
                      • key certifications (thanks to Vincent Breitmoser)
                      • -
                      • support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                      • -
                      • new design for signature verification
                      • -
                      • custom key length (thanks to Greg Witczak)
                      • -
                      • fix share-functionality from other apps
                      • +
                      • Key certifications (thanks to Vincent Breitmoser)
                      • +
                      • Support for GnuPG partial secret keys (thanks to Vincent Breitmoser)
                      • +
                      • New design for signature verification
                      • +
                      • Custom key length (thanks to Greg Witczak)
                      • +
                      • Fix share-functionality from other apps

                      2.5

                        -
                      • fix decryption of symmetric pgp messages/files
                      • -
                      • refactored edit key screen (thanks to Ash Hughes)
                      • -
                      • new modern design for encrypt/decrypt screens
                      • +
                      • Fix decryption of symmetric pgp messages/files
                      • +
                      • Refactored edit key screen (thanks to Ash Hughes)
                      • +
                      • New modern design for encrypt/decrypt screens
                      • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)

                      2.4

                      @@ -33,45 +47,45 @@ Besides several small patches, a notable number of patches are made by the following people (in alphabetical order): Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Paul Sarbinowski, Sreeram Boyapati, Vincent Breitmoser.

                        -
                      • new unified key list
                      • -
                      • colorized key fingerprint
                      • -
                      • support for keyserver ports
                      • -
                      • deactivate possibility to generate weak keys
                      • -
                      • much more internal work on the API
                      • -
                      • certify user ids
                      • -
                      • keyserver query based on machine-readable output
                      • -
                      • lock navigation drawer on tablets
                      • -
                      • suggestions for emails on creation of keys
                      • -
                      • search in public key lists
                      • -
                      • and much more improvements and fixes…
                      • +
                      • New unified key list
                      • +
                      • Colorized key fingerprint
                      • +
                      • Support for keyserver ports
                      • +
                      • Deactivate possibility to generate weak keys
                      • +
                      • Much more internal work on the API
                      • +
                      • Certify user ids
                      • +
                      • Keyserver query based on machine-readable output
                      • +
                      • Lock navigation drawer on tablets
                      • +
                      • Suggestions for emails on creation of keys
                      • +
                      • Search in public key lists
                      • +
                      • And much more improvements and fixes…

                      2.3.1

                        -
                      • hotfix for crash when upgrading from old versions
                      • +
                      • Hotfix for crash when upgrading from old versions

                      2.3

                        -
                      • remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                      • -
                      • fix setting expiry dates on keys (thanks to Ash Hughes)
                      • -
                      • more internal fixes when editing keys (thanks to Ash Hughes)
                      • -
                      • querying keyservers directly from the import screen
                      • -
                      • fix layout and dialog style on Android 2.2-3.0
                      • -
                      • fix crash on keys with empty user ids
                      • -
                      • fix crash and empty lists when coming back from signing screen
                      • +
                      • Remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
                      • +
                      • Fix setting expiry dates on keys (thanks to Ash Hughes)
                      • +
                      • More internal fixes when editing keys (thanks to Ash Hughes)
                      • +
                      • Querying keyservers directly from the import screen
                      • +
                      • Fix layout and dialog style on Android 2.2-3.0
                      • +
                      • Fix crash on keys with empty user ids
                      • +
                      • Fix crash and empty lists when coming back from signing screen
                      • Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
                      • -
                      • fix upload of key from signing screen
                      • +
                      • Fix upload of key from signing screen

                      2.2

                        -
                      • new design with navigation drawer
                      • -
                      • new public key list design
                      • -
                      • new public key view
                      • -
                      • bug fixes for importing of keys
                      • -
                      • key cross-certification (thanks to Ash Hughes)
                      • -
                      • handle UTF-8 passwords properly (thanks to Ash Hughes)
                      • -
                      • first version with new languages (thanks to the contributors on Transifex)
                      • -
                      • sharing of keys via QR Codes fixed and improved
                      • -
                      • package signature verification for API
                      • +
                      • New design with navigation drawer
                      • +
                      • New public key list design
                      • +
                      • New public key view
                      • +
                      • Bug fixes for importing of keys
                      • +
                      • Key cross-certification (thanks to Ash Hughes)
                      • +
                      • Handle UTF-8 passwords properly (thanks to Ash Hughes)
                      • +
                      • First version with new languages (thanks to the contributors on Transifex)
                      • +
                      • Sharing of keys via QR Codes fixed and improved
                      • +
                      • Package signature verification for API

                      2.1.1

                        @@ -79,65 +93,65 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                      2.1

                        -
                      • lots of bug fixes
                      • -
                      • new API for developers
                      • +
                      • Lots of bug fixes
                      • +
                      • New API for developers
                      • PRNG bug fix by Google

                      2.0

                        -
                      • complete redesign
                      • -
                      • share public keys via qr codes, nfc beam
                      • -
                      • sign keys
                      • -
                      • upload keys to server
                      • -
                      • fixes import issues
                      • -
                      • new AIDL API
                      • +
                      • Complete redesign
                      • +
                      • Share public keys via qr codes, nfc beam
                      • +
                      • Sign keys
                      • +
                      • Upload keys to server
                      • +
                      • Fixes import issues
                      • +
                      • New AIDL API

                      1.0.8

                        -
                      • basic keyserver support
                      • -
                      • app2sd
                      • -
                      • more choices for pass phrase cache: 1, 2, 4, 8, hours
                      • -
                      • translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                      • -
                      • bugfixes
                      • -
                      • optimizations
                      • +
                      • Basic keyserver support
                      • +
                      • App2sd
                      • +
                      • More choices for pass phrase cache: 1, 2, 4, 8, hours
                      • +
                      • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                      • +
                      • Bugfixes
                      • +
                      • Optimizations

                      1.0.7

                        -
                      • fixed problem with signature verification of texts with trailing newline
                      • -
                      • more options for pass phrase cache time to live (20, 40, 60 mins)
                      • +
                      • Fixed problem with signature verification of texts with trailing newline
                      • +
                      • More options for pass phrase cache time to live (20, 40, 60 mins)

                      1.0.6

                        -
                      • account adding crash on Froyo fixed
                      • -
                      • secure file deletion
                      • -
                      • option to delete key file after import
                      • -
                      • stream encryption/decryption (gallery, etc.)
                      • -
                      • new options (language, force v3 signatures)
                      • -
                      • interface changes
                      • -
                      • bugfixes
                      • +
                      • Account adding crash on Froyo fixed
                      • +
                      • Secure file deletion
                      • +
                      • Option to delete key file after import
                      • +
                      • Stream encryption/decryption (gallery, etc.)
                      • +
                      • New options (language, force v3 signatures)
                      • +
                      • Interface changes
                      • +
                      • Bugfixes

                      1.0.5

                      • German and Italian translation
                      • -
                      • much smaller package, due to reduced BC sources
                      • -
                      • new preferences GUI
                      • -
                      • layout adjustment for localization
                      • -
                      • signature bugfix
                      • +
                      • Much smaller package, due to reduced BC sources
                      • +
                      • New preferences GUI
                      • +
                      • Layout adjustment for localization
                      • +
                      • Signature bugfix

                      1.0.4

                        -
                      • fixed another crash caused by some SDK bug with query builder
                      • +
                      • Fixed another crash caused by some SDK bug with query builder

                      1.0.3

                        -
                      • fixed crashes during encryption/signing and possibly key export
                      • +
                      • Fixed crashes during encryption/signing and possibly key export

                      1.0.2

                        -
                      • filterable key lists
                      • -
                      • smarter pre-selection of encryption keys
                      • -
                      • new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                      • -
                      • fixes and additional features (key preselection) for K-9 Mail, new beta build available
                      • +
                      • Filterable key lists
                      • +
                      • Smarter pre-selection of encryption keys
                      • +
                      • New Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
                      • +
                      • Fixes and additional features (key preselection) for K-9 Mail, new beta build available

                      1.0.1

                        @@ -146,11 +160,11 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                        1.0.0

                        • K-9 Mail integration, APG supporting beta build of K-9 Mail
                        • -
                        • support of more file managers (including ASTRO)
                        • +
                        • Support of more file managers (including ASTRO)
                        • Slovenian translation
                        • -
                        • new database, much faster, less memory usage
                        • -
                        • defined Intents and content provider for other apps
                        • -
                        • bugfixes
                        • +
                        • New database, much faster, less memory usage
                        • +
                        • Defined Intents and content provider for other apps
                        • +
                        • Bugfixes
                        diff --git a/OpenKeychain/src/main/res/values-ar/strings.xml b/OpenKeychain/src/main/res/values-ar/strings.xml deleted file mode 100644 index 4cf33460a..000000000 --- a/OpenKeychain/src/main/res/values-ar/strings.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/values-cs/strings.xml b/OpenKeychain/src/main/res/values-cs/strings.xml index 2bb0ab5c8..19e94b4b8 100644 --- a/OpenKeychain/src/main/res/values-cs/strings.xml +++ b/OpenKeychain/src/main/res/values-cs/strings.xml @@ -34,7 +34,6 @@ Uložit Zrušit Smazat - Nic OK Nahrát na keyserver Další @@ -57,7 +56,6 @@ Bez hesla Heslo Algoritmus - ASCII Armor Smazat po rozšifrování Šifrovací algoritmus Hashovací algoritmus @@ -198,7 +196,6 @@ 8192 Vlastní velikost klíče Napište vlastní délku klíče (v bitech): - délka RSA klíče musí být větší než 1024 a nejvýše 8192. Zároveň musí být dělitelná 8mi. Délka DSA klíče musí být alespoň 512 a nejvýše 1024. Zároveň musí být dělitelná 64. rychle diff --git a/OpenKeychain/src/main/res/values-de/strings.xml b/OpenKeychain/src/main/res/values-de/strings.xml index e6e594708..c563267cc 100644 --- a/OpenKeychain/src/main/res/values-de/strings.xml +++ b/OpenKeychain/src/main/res/values-de/strings.xml @@ -6,7 +6,6 @@ Verschlüsseln Entschlüsseln Passwort - Erzeuge Deinen Schlüssel Schlüssel bearbeiten Einstellungen Apps @@ -15,6 +14,7 @@ Teile Fingerabdruck über… Teile Schlüssel über... Datei teilen mit… + Teile Nachricht über… In eine Datei verschlüsseln In eine Datei entschlüsseln Schlüssel importieren @@ -43,17 +43,19 @@ Datei entschlüsseln, verifizieren und speichern Entschlüsseln und verifizieren Datei verschlüsseln und speichern + Datei verschlüsseln und teilen Speichern Abbrechen Löschen - Keine Okay Auf Schlüsselserver hochladen Weiter Zurück Schlüssel nachschlagen + Entschlüsseln und teilen Beglaubigungsschlüssel anzeigen - Erzeuge Schlüssel + Schlüssel erzeugen + Datei(en) hinzufügen Einstellungen Hilfe @@ -72,16 +74,23 @@ Nachricht Datei + Datei(en) + Datei: Kein Passwort Passwort Passwort wiederholen Algorithmus - ASCII-Armor + Datei: ASCII Armor Lass andere wissen dass du OpenKeychain nutzt Fügt \'OpenKeychain v2.7\' zu OpenPGP Signaturen, Daten und exportierten Schlüsseln hinzu + Von: + An: + Dateien: Nach Verschlüsselung löschen Nach Entschlüsselung löschen Verschlüsselungsalgorithmus Hash-Algorithmus + Mit Schlüssel + Mit Passwort Passwort-Cache Nachrichten-Komprimierung Datei-Komprimierung @@ -274,7 +283,6 @@ 8192 Benutzerdefinierte Schlüssellänge Benutzerdefinierte Schlüssellänge (in Bit): - Die RSA-Schlüssellänge muss größer als 1024 sein und höchstens 8192 sein. Auch muss sie ein Mehrfaches von 8 sein. Die DSA-Schlüssellänge muss mindestens 512 und höchstens 1024 sein. Auch muss sie ein Mehrfaches von 64 sein. schnell @@ -380,6 +388,7 @@ Menü schließen Meine Schlüssel + Die eingegebene Nachricht wird mit dem in \'Von\' ausgewählten Schlüssel signiert und für alle Empfänger in \'An\' verschlüsselt. Hier die verschlüsselte Nachricht eingeben um sie zu entschlüsseln und/oder zu verifizieren… normal diff --git a/OpenKeychain/src/main/res/values-el/strings.xml b/OpenKeychain/src/main/res/values-el/strings.xml deleted file mode 100644 index 0ae077242..000000000 --- a/OpenKeychain/src/main/res/values-el/strings.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - Κωδικός - Επεξεργασία Κλειδιού - Επιλογές - - - Αποθήκευση - Ακύρωση - Διαγραφή - Κανένα - ΟΚ - - Διαγραφής κλειδιού - - Μήνυμα - Αρχείο - Κωδικός - Αλγόριθμος - Αλγόριθμος κρυπτογράφησης - Μέγεθος κλειδιού - Ηλεκτρονικό ταχυδρομίο - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/values-es/strings.xml b/OpenKeychain/src/main/res/values-es/strings.xml index be488f82d..eddfb4593 100644 --- a/OpenKeychain/src/main/res/values-es/strings.xml +++ b/OpenKeychain/src/main/res/values-es/strings.xml @@ -6,7 +6,7 @@ Cifrar Descifrar Frase de contraseña - Crear mi clave + Añadir subclave Editar clave Preferencias Aplicaciones @@ -15,6 +15,7 @@ Compartir huella de validación de clave con... Compartir clave con... Compartir fichero con... + Compartir mensaje con... Cifrar hacia archivo Descifrar hacia archivo Importar claves @@ -47,7 +48,7 @@ Guardar Cancelar Eliminar - Ninguno + Sin fecha de expiración De acuerdo Cargar al servidor de claves Siguiente @@ -81,12 +82,12 @@ Frase de contraseña Repeat Passphrase Algoritmo - Armadura ASCII + Armadura ASCII del fichero Ficheros: Armadura ASCII Permitir a otros saber que está usando OpenKeychain Escribe \'OpenKeychain v2.7\' en las firmas OpenPGP, el texto cifrado, y las claves exportadas Desde: - Hacia: + Hacia: Ficheros: Borrar después del cifrado Borrar después del descifrado Algoritmo de cifrado @@ -288,7 +289,7 @@ 8192 Tamaño de clave personalizado Escriba el tamaño personalizado de la clave (en bits): - El tamaño de la clave RSA debe de un mínimo de 1024 y un máximo de 8192. También debe ser múltiplo de 8. + El tamaño de la clave RSA tiene que ser mayor que 1024 y como mucho de 16384. También debe ser un múltiplo de 8. El tamaño de la clave DSA debe ser de un mínimo de 512 y un máximo de 1024. También debe ser múltiplo de 64. rápido @@ -397,11 +398,16 @@ Cambiar a la identidad primaria Revocar identidad + + Revertir revocación + + Esta identidad se ha revocado. Esto no puede deshacerse. ¡Seleccione una acción! Cambiar periodo hasta la expiración Revocar subclave + nueva Subir clave al servidor de claves Este campo es obligatorio diff --git a/OpenKeychain/src/main/res/values-fr/strings.xml b/OpenKeychain/src/main/res/values-fr/strings.xml index 2b6405ed5..d2a13ef2d 100644 --- a/OpenKeychain/src/main/res/values-fr/strings.xml +++ b/OpenKeychain/src/main/res/values-fr/strings.xml @@ -6,7 +6,7 @@ Chiffrer Déchiffrer Phrase de passe - Créer ma clef + Ajouter une sous-clef Modifier une clef Préférences Applis @@ -15,6 +15,7 @@ Partager l\'empreinte avec... Partager la clef avec... Partager le fichier avec... + Partager le message avec... Chiffrer vers un fichier Déchiffrer vers un fichier importer des clefs @@ -43,17 +44,20 @@ Déchiffrer, vérifier et enregistrer le fichier Déchiffrer et enregistrer le message Chiffrer et enregistrer le fichier + Chiffrer et partager le fichier Enregistrer Annuler Supprimer - Aucune + Pas d\'expiration OK Téléverser vers le serveur de clefs Suivant Retour Rechercher la clef + Chiffrer et partager le message Voir la clef de certification Créer la clef + Ajouter un/des fichier(s) Paramètres Aide @@ -72,16 +76,24 @@ Message Fichier + Fichier(s) + Fichier : Aucune phrase de passe Phrase de passe Répéter la phrase de passe Algorithme - Armure ASCII + Fichier ASCII Armor + Fichier : ASCII Armor Informez les autres de votre utilisation d\'OpenKeychain Ajoute « OpenKeychain v2.7 » aux signatures OpenPGP, aux cryptogrammes, et aux clefs exportées + De : + À : + Fichier : supprimer après chiffrement Supprimer après le chiffrement Algorithme de chiffrement Algorithme de hachage + Avec une clef publique + Avec une phrase de passe Cache de la phrase de passe Compression des messages Compression des fichiers @@ -277,7 +289,7 @@ 8192 Taille de clef personnalisée Taper la longueur de la clef personnalisée (bits) - La longueur d\'une clef RSA doit être comprise entre 1024 et 8192 inclusivement. Elle doit aussi être un multiple de 8. + La longueur d\'une clef RSA doit être supérieure à 1024 et au plus 16384. Elle doit aussi être un multiple de 8. La longueur d\'une clef DSA doit être comprise entre 512 et 1024 inclusivement. Elle doit aussi être un multiple de 64. rapide @@ -386,11 +398,16 @@ Changer en identité principale Révoquer l\'identité + + Renverser la révocation + + Cette identité a été révoquée ! Ceci ne peut pas être annulé. Choisissez une action ! Changer l\'expiration Révoquer la sous-clef + nouvelle Téléverser la clef vers le serveur de clefs Ce champ est exigé @@ -411,6 +428,7 @@ Fermer le tiroir de navigation Mes clefs + Le message saisi ici sera signé en utilisant la clef choisie « De » et chiffré pour tous les destinataires choisies « À ». Saisir le cryptogramme à déchiffrer et/ou à vérifier ici... valeur par défaut diff --git a/OpenKeychain/src/main/res/values-it/strings.xml b/OpenKeychain/src/main/res/values-it/strings.xml index d31d1cc87..a3941e147 100644 --- a/OpenKeychain/src/main/res/values-it/strings.xml +++ b/OpenKeychain/src/main/res/values-it/strings.xml @@ -43,7 +43,6 @@ Salva Annulla Elimina - Nessuno OK Carica sul Server delle Chiavi Prossimo @@ -70,7 +69,6 @@ Frase di Accesso Ripeti Frase di Accesso Algortimo - Armatura ASCII Fai sapere agli altri che utilizzi OpenKeychain Scrive \'OpenKeychain v2.7\' nelle firme OpenPGP, testi cifrati e chiavi esportate Cancella Dopo Decodifica @@ -251,7 +249,6 @@ 8192 Lunghezza chiave peronalizzata Digita lunghezza chiave personalizzata (in bit): - La lunghezza della chiave RSA deve essere maggiore di 1024 e al massimo 8192. Inoltre, deve essere multipla di 8. La lunghezza della chiave DSA deve essere almeno 512 e al massimo 1024. Inoltre, deve essere multipla di 64. veloce diff --git a/OpenKeychain/src/main/res/values-ja/strings.xml b/OpenKeychain/src/main/res/values-ja/strings.xml index de22a8f7c..d4fc5f976 100644 --- a/OpenKeychain/src/main/res/values-ja/strings.xml +++ b/OpenKeychain/src/main/res/values-ja/strings.xml @@ -6,7 +6,7 @@ 暗号化 復号化 パスフレーズ - 自分の鍵の生成 + 副鍵の追加 鍵の編集 設定 アプリ @@ -15,6 +15,7 @@ ...で指紋の共有 ...で鍵の共有 ...でファイルの共有 + ...でメッセージを共有 暗号化してファイルに 復号化してファイルに 鍵のインポート @@ -47,7 +48,7 @@ 保存 キャンセル 削除 - 無し + 満了なし OK 鍵サーバへアップロード @@ -81,7 +82,7 @@ パスフレーズ 再度パスフレーズを入力 アルゴリズム - アスキー形式 + アスキー形式ファイル ファイル: アスキー形式 他の人にあなたがOpenKeychain使用していることを知ってもらいましょう OpenPGPの 署名、暗号文、そしてエクスポートした鍵に \'OpenKeychain v2.7\' と書くようになりました @@ -283,7 +284,7 @@ 8192 カスタムの鍵サイズ カスタムの鍵長を入力(ビット数): - RSA鍵の長さは1024より長い必要があり、最も一般的には8192です。そして8の倍数である必要があります。 + RSA鍵の長さは1024より長い必要があり、最大は16384です。そして8の倍数である必要があります。 DSA鍵の長さは最低512の必要があり、最も一般的には1024です。そして64の倍数である必要があります。 早い @@ -387,11 +388,16 @@ 主IDを変更 IDを破棄 + + 破棄処理の差し戻し + + このIDは破棄されています。続けることができません。 アクションを選んでください! 期限を変更 副鍵を破棄 + 新規 鍵サーバへアップロード このフィールドは必須です diff --git a/OpenKeychain/src/main/res/values-ko/strings.xml b/OpenKeychain/src/main/res/values-ko/strings.xml deleted file mode 100644 index 4cf33460a..000000000 --- a/OpenKeychain/src/main/res/values-ko/strings.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/values-nl/strings.xml b/OpenKeychain/src/main/res/values-nl/strings.xml index 640ac777d..f225e204a 100644 --- a/OpenKeychain/src/main/res/values-nl/strings.xml +++ b/OpenKeychain/src/main/res/values-nl/strings.xml @@ -41,7 +41,6 @@ Opslaan Annuleren Verwijderen - Geen OK Upload Naar Sleutelserver Volgende @@ -66,7 +65,6 @@ Geen wachtwoord Wachtwoord Algoritme - ASCII-armor Verwijderen na ontsleuteling Versleutelingsalgoritme Verificatie-algoritme @@ -242,7 +240,6 @@ 8192 Aangepaste sleutelgrootte Typ aangepaste sleutellengte (in bits): - RSA sleutel lengte moet groter zijn dan 1024 en maximaal 8192. Het moet ook deelbaar zijn door 8. DSA sleutellengte moet minstens 512 zijn en maximaal 1024. Het moet ook deelbaar zijn door 64. snel diff --git a/OpenKeychain/src/main/res/values-pl/strings.xml b/OpenKeychain/src/main/res/values-pl/strings.xml index 69179d509..a4a66e30c 100644 --- a/OpenKeychain/src/main/res/values-pl/strings.xml +++ b/OpenKeychain/src/main/res/values-pl/strings.xml @@ -30,7 +30,6 @@ Zapisz Anuluj Usuń - Żaden Ok Wyślij do serwera kluczy Dalej @@ -54,7 +53,6 @@ Brak hasła Hasło Algorytm - ASCII Armor Usuń po odszyfrowaniu Algorytm szyfrujący Algorytm funkcji skrótu @@ -230,7 +228,6 @@ 8192 Własny rozmiar klucza Podaj własną długość klucza (w bitach): - Długośc klucza RSA musi być większa niż 1024 i równa co najwyżej 8192. Musi być także wielokrotnością 8. Długośc klucza DSA musi być równa co najmniej 512 i co najwyżej 1024. Musi być także wielokrotnością 64. szybka diff --git a/OpenKeychain/src/main/res/values-ro/strings.xml b/OpenKeychain/src/main/res/values-ro/strings.xml deleted file mode 100644 index 4cf33460a..000000000 --- a/OpenKeychain/src/main/res/values-ro/strings.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/values-ru/strings.xml b/OpenKeychain/src/main/res/values-ru/strings.xml index 7e6516abe..fd2c0312d 100644 --- a/OpenKeychain/src/main/res/values-ru/strings.xml +++ b/OpenKeychain/src/main/res/values-ru/strings.xml @@ -43,7 +43,6 @@ Сохранить Отмена Удалить - Нет Да Загрузить на сервер ключей Далее @@ -69,7 +68,6 @@ Без пароля Пароль Алгоритм - ASCII формат Удалить после расшифровки Алгоритм шифрования Hash-алгоритм @@ -252,7 +250,6 @@ 8192 Произвольная длина ключа Введите длину ключа (бит): - Длина RSA ключа должна быть в пределах между 1024 и 8192 бит и должна быть кратна 8. Длина DSA ключа должна быть в пределах между 512 и 1024 бит и должна быть кратна 64. быстро diff --git a/OpenKeychain/src/main/res/values-sk/strings.xml b/OpenKeychain/src/main/res/values-sk/strings.xml deleted file mode 100644 index 4cf33460a..000000000 --- a/OpenKeychain/src/main/res/values-sk/strings.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/values-sl/strings.xml b/OpenKeychain/src/main/res/values-sl/strings.xml index a6426b3e8..0a7b4713e 100644 --- a/OpenKeychain/src/main/res/values-sl/strings.xml +++ b/OpenKeychain/src/main/res/values-sl/strings.xml @@ -43,7 +43,6 @@ Shrani Prekliči Izbriši - Brez OK Naloži na strežnik Naprej @@ -69,7 +68,6 @@ Brez gesla Geslo Algoritem - ASCII Armor Po dešifriranju izbriši Šifrirni algoritem Zgostitveni algoritem @@ -258,7 +256,6 @@ 8192 Dolžina ključa po meri Vnesite željeno dolžino ključa (v bitih): - Ključ RSA mora biti daljši od 1024 bitov, a največ 8192 bitov. Hkrati mora biti deljiv z 8. Ključ DSA mora biti daljši od 512 bitov, a največ 1024 bitov. Hkrati mora biti deljiv z 64. hitro diff --git a/OpenKeychain/src/main/res/values-uk/strings.xml b/OpenKeychain/src/main/res/values-uk/strings.xml index 74713ca33..42ac94c32 100644 --- a/OpenKeychain/src/main/res/values-uk/strings.xml +++ b/OpenKeychain/src/main/res/values-uk/strings.xml @@ -43,7 +43,6 @@ Зберегти Скасувати Вилучити - Жоден Гаразд Завантажити на сервер ключів Далі @@ -69,7 +68,6 @@ Без парольної фрази Парольна фраза Алгоритм - ASCII Броня Вилучити після розшифрування Алгоритм шифрування Хеш алгоритм @@ -252,7 +250,6 @@ 8192 Особливий розмір ключа Введіть інший розмір ключа (у бітах): - Довжина ключа RSA має бути більша за 1024 та менша за 8192. Також він має мати кратність 8. Довжина ключа DSA має бути більша за 512 та менша за 1024. Також він має мати кратність 64. швидке diff --git a/OpenKeychain/src/main/res/values-zh/strings.xml b/OpenKeychain/src/main/res/values-zh/strings.xml index 7f0ec99fd..8e5d42bb7 100644 --- a/OpenKeychain/src/main/res/values-zh/strings.xml +++ b/OpenKeychain/src/main/res/values-zh/strings.xml @@ -24,7 +24,6 @@ 保存 取消 删除 - 帮助 删除密钥 -- cgit v1.2.3 From 65fd0de7e100fed42a6b2e52e994d7a0d6371037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 7 Aug 2014 11:17:58 +0200 Subject: passphrase instead of pass phrase --- OpenKeychain/src/main/res/raw/help_changelog.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/res/raw/help_changelog.html b/OpenKeychain/src/main/res/raw/help_changelog.html index b2c798615..f2455d243 100644 --- a/OpenKeychain/src/main/res/raw/help_changelog.html +++ b/OpenKeychain/src/main/res/raw/help_changelog.html @@ -125,7 +125,7 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa
                        • Basic keyserver support
                        • App2sd
                        • -
                        • More choices for pass phrase cache: 1, 2, 4, 8, hours
                        • +
                        • More choices for passphrase cache: 1, 2, 4, 8, hours
                        • Translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
                        • Bugfixes
                        • Optimizations
                        • @@ -134,7 +134,7 @@ Daniel Hammann, Daniel Haß, Greg Witczak, Miroojin Bakshi, Nikhil Peter Raj, Pa

                          1.0.7

                          • Fixed problem with signature verification of texts with trailing newline
                          • -
                          • More options for pass phrase cache time to live (20, 40, 60 mins)
                          • +
                          • More options for passphrase cache time to live (20, 40, 60 mins)

                          1.0.6

                          -- cgit v1.2.3 From 1abae04cda368409b54c7b3d0b3b8401040ef39e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Sun, 10 Aug 2014 20:27:34 +0200 Subject: Fix compression setting for encryption of files --- .../org/sufficientlysecure/keychain/ui/EncryptActivity.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index 94f828b48..ab26d539a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -264,24 +264,27 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn // fill values for this action Bundle data = new Bundle(); + int compressionId; if (isContentMessage()) { data.putInt(KeychainIntentService.TARGET, KeychainIntentService.IO_BYTES); data.putByteArray(KeychainIntentService.ENCRYPT_MESSAGE_BYTES, mMessage.getBytes()); + + compressionId = Preferences.getPreferences(this).getDefaultMessageCompression(); } else { data.putInt(KeychainIntentService.SOURCE, KeychainIntentService.IO_URIS); data.putParcelableArrayList(KeychainIntentService.ENCRYPT_INPUT_URIS, mInputUris); data.putInt(KeychainIntentService.TARGET, KeychainIntentService.IO_URIS); data.putParcelableArrayList(KeychainIntentService.ENCRYPT_OUTPUT_URIS, mOutputUris); + + compressionId = Preferences.getPreferences(this).getDefaultFileCompression(); } + data.putInt(KeychainIntentService.ENCRYPT_COMPRESSION_ID, compressionId); + // Always use armor for messages data.putBoolean(KeychainIntentService.ENCRYPT_USE_ASCII_ARMOR, mUseArmor || isContentMessage()); - // TODO: Only default compression right now... - int compressionId = Preferences.getPreferences(this).getDefaultMessageCompression(); - data.putInt(KeychainIntentService.ENCRYPT_COMPRESSION_ID, compressionId); - if (isModeSymmetric()) { Log.d(Constants.TAG, "Symmetric encryption enabled!"); String passphrase = mPassphrase; -- cgit v1.2.3 From b0821a3ddd56ebcd16b5e1b0de098cb90cab4c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Sun, 10 Aug 2014 20:44:02 +0200 Subject: Introduction of metadata api, starting to fix decryption progress --- .../keychain/pgp/PgpDecryptVerify.java | 87 ++++++++++++++-------- .../keychain/pgp/PgpDecryptVerifyResult.java | 23 ++++-- .../keychain/pgp/PgpSignEncrypt.java | 18 ++--- 3 files changed, 84 insertions(+), 44 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 7f2d971ed..6f34816f1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -18,6 +18,7 @@ package org.sufficientlysecure.keychain.pgp; +import org.openintents.openpgp.OpenPgpDecryptMetadata; import org.spongycastle.bcpg.ArmoredInputStream; import org.spongycastle.openpgp.PGPCompressedData; import org.spongycastle.openpgp.PGPEncryptedData; @@ -45,6 +46,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.util.InputData; import org.sufficientlysecure.keychain.util.Log; +import org.sufficientlysecure.keychain.util.ProgressScaler; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; @@ -269,8 +271,8 @@ public class PgpDecryptVerify { // allow only specific keys for decryption? if (mAllowedKeyIds != null) { - Log.d(Constants.TAG, "encData.getKeyID():" + encData.getKeyID()); - Log.d(Constants.TAG, "allowedKeyIds: " + mAllowedKeyIds); + Log.d(Constants.TAG, "encData.getKeyID(): " + encData.getKeyID()); + Log.d(Constants.TAG, "mAllowedKeyIds: " + mAllowedKeyIds); Log.d(Constants.TAG, "masterKeyId: " + masterKeyId); if (!mAllowedKeyIds.contains(masterKeyId)) { @@ -344,7 +346,7 @@ public class PgpDecryptVerify { if (!secretEncryptionKey.unlock(mPassphrase)) { throw new WrongPassphraseException(); } - } catch(PgpGeneralException e) { + } catch (PgpGeneralException e) { throw new KeyExtractionException(); } currentProgress += 5; @@ -371,8 +373,9 @@ public class PgpDecryptVerify { if (dataChunk instanceof PGPCompressedData) { updateProgress(R.string.progress_decompressing_data, currentProgress, 100); - PGPObjectFactory fact = new PGPObjectFactory( - ((PGPCompressedData) dataChunk).getDataStream()); + PGPCompressedData compressedData = (PGPCompressedData) dataChunk; + + PGPObjectFactory fact = new PGPObjectFactory(compressedData.getDataStream()); dataChunk = fact.nextObject(); plainFact = fact; currentProgress += 10; @@ -410,8 +413,8 @@ public class PgpDecryptVerify { signatureResultBuilder.keyId(signingRing.getMasterKeyId()); try { signatureResultBuilder.userId(signingRing.getPrimaryUserIdWithFallback()); - } catch(PgpGeneralException e) { - Log.d(Constants.TAG, "No primary user id in key " + signingRing.getMasterKeyId()); + } catch (PgpGeneralException e) { + Log.d(Constants.TAG, "No primary user id in keyring with master key id " + signingRing.getMasterKeyId()); } signatureResultBuilder.signatureKeyCertified(signingRing.getVerified() > 0); @@ -433,6 +436,7 @@ public class PgpDecryptVerify { } if (dataChunk instanceof PGPSignatureList) { + // skip dataChunk = plainFact.nextObject(); } @@ -441,44 +445,67 @@ public class PgpDecryptVerify { PGPLiteralData literalData = (PGPLiteralData) dataChunk; - byte[] buffer = new byte[1 << 16]; - InputStream dataIn = literalData.getInputStream(); + // TODO: how to get the real original size? + // this is the encrypted size + long originalSize = mData.getSize() - mData.getStreamPosition(); + if (originalSize < 0) { + originalSize = 0; + } - int startProgress = currentProgress; - int endProgress = 100; + OpenPgpDecryptMetadata metadata = new OpenPgpDecryptMetadata( + literalData.getFileName(), + literalData.getModificationTime().getTime(), + literalData.getFormat(), + originalSize); + result.setDecryptMetadata(metadata); + + int endProgress; if (signature != null) { endProgress = 90; } else if (encryptedData.isIntegrityProtected()) { endProgress = 95; + } else { + endProgress = 100; } + ProgressScaler progressScaler = + new ProgressScaler(mProgressable, currentProgress, endProgress, 100); + + InputStream dataIn = literalData.getInputStream(); + + int alreadyWritten = 0; + long wholeSize = mData.getSize() - mData.getStreamPosition(); + Log.d(Constants.TAG, "mData.getStreamPosition(): " + mData.getStreamPosition()); + Log.d(Constants.TAG, "wholeSize: " + wholeSize); + + int length; + byte[] buffer = new byte[1 << 16]; + while ((length = dataIn.read(buffer)) > 0) { + mOutStream.write(buffer, 0, length); - int n; - // TODO: progress calculation is broken here! Try to rework it based on commented code! -// int progress = 0; - long startPos = mData.getStreamPosition(); - while ((n = dataIn.read(buffer)) > 0) { - mOutStream.write(buffer, 0, n); -// progress += n; + // update signature buffer if signature is also present if (signature != null) { try { - signature.update(buffer, 0, n); + signature.update(buffer, 0, length); } catch (SignatureException e) { - Log.d(Constants.TAG, "SIGNATURE_ERROR"); + Log.e(Constants.TAG, "SignatureException -> Not a valid signature!", e); signatureResultBuilder.validSignature(false); signature = null; } } - // TODO: dead code?! - // unknown size, but try to at least have a moving, slowing down progress bar -// currentProgress = startProgress + (endProgress - startProgress) * progress -// / (progress + 100000); - if (mData.getSize() - startPos == 0) { - currentProgress = endProgress; + + alreadyWritten += length; + if (wholeSize > 0) { + int progress = 100 * alreadyWritten / (int) wholeSize; + Log.d(Constants.TAG, "progress: " + progress); + + // stop at 100 for buggy sizes... + if (progress > 100) { + progress = 100; + } + progressScaler.setProgress(progress, 100); } else { - currentProgress = (int) (startProgress + (endProgress - startProgress) - * (mData.getStreamPosition() - startPos) / (mData.getSize() - startPos)); + // TODO: slow annealing to fake a progress? } - updateProgress(currentProgress, 100); } if (signature != null) { @@ -597,7 +624,7 @@ public class PgpDecryptVerify { signatureResultBuilder.keyId(signingRing.getMasterKeyId()); try { signatureResultBuilder.userId(signingRing.getPrimaryUserIdWithFallback()); - } catch(PgpGeneralException e) { + } catch (PgpGeneralException e) { Log.d(Constants.TAG, "No primary user id in key " + signingRing.getMasterKeyId()); } signatureResultBuilder.signatureKeyCertified(signingRing.getVerified() > 0); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java index ad240e834..d16c6ecc0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java @@ -20,6 +20,7 @@ package org.sufficientlysecure.keychain.pgp; import android.os.Parcel; import android.os.Parcelable; +import org.openintents.openpgp.OpenPgpDecryptMetadata; import org.openintents.openpgp.OpenPgpSignatureResult; public class PgpDecryptVerifyResult implements Parcelable { @@ -31,21 +32,22 @@ public class PgpDecryptVerifyResult implements Parcelable { long mKeyIdPassphraseNeeded; OpenPgpSignatureResult mSignatureResult; + OpenPgpDecryptMetadata mDecryptMetadata; public int getStatus() { return mStatus; } - public void setStatus(int mStatus) { - this.mStatus = mStatus; + public void setStatus(int status) { + mStatus = status; } public long getKeyIdPassphraseNeeded() { return mKeyIdPassphraseNeeded; } - public void setKeyIdPassphraseNeeded(long mKeyIdPassphraseNeeded) { - this.mKeyIdPassphraseNeeded = mKeyIdPassphraseNeeded; + public void setKeyIdPassphraseNeeded(long keyIdPassphraseNeeded) { + mKeyIdPassphraseNeeded = keyIdPassphraseNeeded; } public OpenPgpSignatureResult getSignatureResult() { @@ -53,7 +55,15 @@ public class PgpDecryptVerifyResult implements Parcelable { } public void setSignatureResult(OpenPgpSignatureResult signatureResult) { - this.mSignatureResult = signatureResult; + mSignatureResult = signatureResult; + } + + public OpenPgpDecryptMetadata getDecryptMetadata() { + return mDecryptMetadata; + } + + public void setDecryptMetadata(OpenPgpDecryptMetadata decryptMetadata) { + mDecryptMetadata = decryptMetadata; } public PgpDecryptVerifyResult() { @@ -64,6 +74,7 @@ public class PgpDecryptVerifyResult implements Parcelable { this.mStatus = b.mStatus; this.mKeyIdPassphraseNeeded = b.mKeyIdPassphraseNeeded; this.mSignatureResult = b.mSignatureResult; + this.mDecryptMetadata = b.mDecryptMetadata; } @@ -75,6 +86,7 @@ public class PgpDecryptVerifyResult implements Parcelable { dest.writeInt(mStatus); dest.writeLong(mKeyIdPassphraseNeeded); dest.writeParcelable(mSignatureResult, 0); + dest.writeParcelable(mDecryptMetadata, 0); } public static final Creator CREATOR = new Creator() { @@ -83,6 +95,7 @@ public class PgpDecryptVerifyResult implements Parcelable { vr.mStatus = source.readInt(); vr.mKeyIdPassphraseNeeded = source.readLong(); vr.mSignatureResult = source.readParcelable(OpenPgpSignatureResult.class.getClassLoader()); + vr.mDecryptMetadata = source.readParcelable(OpenPgpDecryptMetadata.class.getClassLoader()); return vr; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java index d8bf0d4d9..b42e832fa 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java @@ -357,6 +357,7 @@ public class PgpSignEncrypt { BCPGOutputStream bcpgOut; if (enableEncryption) { /* actual encryption */ + updateProgress(R.string.progress_encrypting, 20, 100); encryptionOut = cPk.open(out, new byte[1 << 16]); @@ -379,27 +380,26 @@ public class PgpSignEncrypt { // file name not needed, so empty string pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, "", new Date(), new byte[1 << 16]); - updateProgress(R.string.progress_encrypting, 20, 100); - long progress = 0; - int n; + long alreadyWritten = 0; + int length; byte[] buffer = new byte[1 << 16]; InputStream in = mData.getInputStream(); - while ((n = in.read(buffer)) > 0) { - pOut.write(buffer, 0, n); + while ((length = in.read(buffer)) > 0) { + pOut.write(buffer, 0, length); // update signature buffer if signature is requested if (enableSignature) { if (mSignatureForceV3) { - signatureV3Generator.update(buffer, 0, n); + signatureV3Generator.update(buffer, 0, length); } else { - signatureGenerator.update(buffer, 0, n); + signatureGenerator.update(buffer, 0, length); } } - progress += n; + alreadyWritten += length; if (mData.getSize() != 0) { - updateProgress((int) (20 + (95 - 20) * progress / mData.getSize()), 100); + updateProgress((int) (20 + (95 - 20) * alreadyWritten / mData.getSize()), 100); } } -- cgit v1.2.3 From c981902abab0a95067937384a89efcea6ca35f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Sun, 10 Aug 2014 20:59:13 +0200 Subject: Handle missing integrity protection MDC packet as if integrity check would have failed. An attacker could strip the MDC on its way to the receiver... --- .../org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 6f34816f1..46e69afc4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -399,8 +399,7 @@ public class PgpDecryptVerify { signingKey = signingRing.getPublicKey(sigKeyId); signatureIndex = i; } catch (ProviderHelper.NotFoundException e) { - Log.d(Constants.TAG, "key not found!"); - // try next one... + Log.d(Constants.TAG, "key not found, trying next signature…"); } } @@ -537,8 +536,10 @@ public class PgpDecryptVerify { } } else { // no integrity check - Log.e(Constants.TAG, "Encrypted data was not integrity protected!"); - // TODO: inform user? + Log.d(Constants.TAG, "Encrypted data was not integrity protected! MDC packet is missing!"); + // Handle missing integrity protection like failed integrity protection! + // The MDC packet can be stripped by an attacker! + throw new IntegrityCheckFailedException(); } updateProgress(R.string.progress_done, 100, 100); -- cgit v1.2.3 From 33a4d6852008c81070adabb2795c256ea34cac55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Sun, 10 Aug 2014 21:09:10 +0200 Subject: More fixes for decryption progress --- .../org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 46e69afc4..b38caa80e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -471,7 +471,7 @@ public class PgpDecryptVerify { InputStream dataIn = literalData.getInputStream(); - int alreadyWritten = 0; + long alreadyWritten = 0; long wholeSize = mData.getSize() - mData.getStreamPosition(); Log.d(Constants.TAG, "mData.getStreamPosition(): " + mData.getStreamPosition()); Log.d(Constants.TAG, "wholeSize: " + wholeSize); @@ -494,14 +494,12 @@ public class PgpDecryptVerify { alreadyWritten += length; if (wholeSize > 0) { - int progress = 100 * alreadyWritten / (int) wholeSize; - Log.d(Constants.TAG, "progress: " + progress); - - // stop at 100 for buggy sizes... + long progress = 100 * alreadyWritten / wholeSize; + // stop at 100% for wrong file sizes... if (progress > 100) { progress = 100; } - progressScaler.setProgress(progress, 100); + progressScaler.setProgress((int) progress, 100); } else { // TODO: slow annealing to fake a progress? } -- cgit v1.2.3 From 13f86890d68f68529df692531a830c0a8b3134c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Sun, 10 Aug 2014 21:50:46 +0200 Subject: Handle missing MDC as failed only if no valid signature is present --- .../keychain/pgp/OpenPgpSignatureResultBuilder.java | 4 ++++ .../java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java index 75f8bdb66..a116ea665 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java @@ -65,6 +65,10 @@ public class OpenPgpSignatureResultBuilder { this.mSignatureAvailable = signatureAvailable; } + public boolean isValidSignature() { + return mValidSignature; + } + public OpenPgpSignatureResult build() { if (mSignatureAvailable) { OpenPgpSignatureResult result = new OpenPgpSignatureResult(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index b38caa80e..518975907 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -535,9 +535,13 @@ public class PgpDecryptVerify { } else { // no integrity check Log.d(Constants.TAG, "Encrypted data was not integrity protected! MDC packet is missing!"); + + // If no valid signature is present: // Handle missing integrity protection like failed integrity protection! // The MDC packet can be stripped by an attacker! - throw new IntegrityCheckFailedException(); + if (!signatureResultBuilder.isValidSignature()) { + throw new IntegrityCheckFailedException(); + } } updateProgress(R.string.progress_done, 100, 100); -- cgit v1.2.3 From 867b89be0aff81781ccf15a172aae875fca9f940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 01:31:51 +0200 Subject: More fixes for decryption progress --- .../keychain/pgp/PgpDecryptVerify.java | 29 ++++++++-------------- 1 file changed, 11 insertions(+), 18 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 518975907..6ce483989 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -229,8 +229,6 @@ public class PgpDecryptVerify { InputStream clear; PGPEncryptedData encryptedData; - currentProgress += 5; - PGPPublicKeyEncryptedData encryptedDataAsymmetric = null; PGPPBEEncryptedData encryptedDataSymmetric = null; CanonicalizedSecretKey secretEncryptionKey = null; @@ -241,6 +239,7 @@ public class PgpDecryptVerify { while (it.hasNext()) { Object obj = it.next(); if (obj instanceof PGPPublicKeyEncryptedData) { + currentProgress += 2; updateProgress(R.string.progress_finding_key, currentProgress, 100); PGPPublicKeyEncryptedData encData = (PGPPublicKeyEncryptedData) obj; @@ -327,6 +326,7 @@ public class PgpDecryptVerify { } if (symmetricPacketFound) { + currentProgress += 2; updateProgress(R.string.progress_preparing_streams, currentProgress, 100); PGPDigestCalculatorProvider digestCalcProvider = new JcaPGPDigestCalculatorProviderBuilder() @@ -338,9 +338,8 @@ public class PgpDecryptVerify { clear = encryptedDataSymmetric.getDataStream(decryptorFactory); encryptedData = encryptedDataSymmetric; - currentProgress += 5; } else if (asymmetricPacketFound) { - currentProgress += 5; + currentProgress += 2; updateProgress(R.string.progress_extracting_key, currentProgress, 100); try { if (!secretEncryptionKey.unlock(mPassphrase)) { @@ -349,15 +348,13 @@ public class PgpDecryptVerify { } catch (PgpGeneralException e) { throw new KeyExtractionException(); } - currentProgress += 5; + + currentProgress += 2; updateProgress(R.string.progress_preparing_streams, currentProgress, 100); PublicKeyDataDecryptorFactory decryptorFactory = secretEncryptionKey.getDecryptorFactory(); - clear = encryptedDataAsymmetric.getDataStream(decryptorFactory); - encryptedData = encryptedDataAsymmetric; - currentProgress += 5; } else { // no packet has been found where we have the corresponding secret key in our db throw new NoSecretKeyException(); @@ -371,6 +368,7 @@ public class PgpDecryptVerify { CanonicalizedPublicKey signingKey = null; if (dataChunk instanceof PGPCompressedData) { + currentProgress += 2; updateProgress(R.string.progress_decompressing_data, currentProgress, 100); PGPCompressedData compressedData = (PGPCompressedData) dataChunk; @@ -378,12 +376,11 @@ public class PgpDecryptVerify { PGPObjectFactory fact = new PGPObjectFactory(compressedData.getDataStream()); dataChunk = fact.nextObject(); plainFact = fact; - currentProgress += 10; } PGPOnePassSignature signature = null; - if (dataChunk instanceof PGPOnePassSignatureList) { + currentProgress += 2; updateProgress(R.string.progress_processing_signature, currentProgress, 100); PGPOnePassSignatureList sigList = (PGPOnePassSignatureList) dataChunk; @@ -399,7 +396,7 @@ public class PgpDecryptVerify { signingKey = signingRing.getPublicKey(sigKeyId); signatureIndex = i; } catch (ProviderHelper.NotFoundException e) { - Log.d(Constants.TAG, "key not found, trying next signature…"); + Log.d(Constants.TAG, "key not found, trying next signature..."); } } @@ -431,7 +428,6 @@ public class PgpDecryptVerify { } dataChunk = plainFact.nextObject(); - currentProgress += 10; } if (dataChunk instanceof PGPSignatureList) { @@ -440,6 +436,7 @@ public class PgpDecryptVerify { } if (dataChunk instanceof PGPLiteralData) { + currentProgress += 4; updateProgress(R.string.progress_decrypting, currentProgress, 100); PGPLiteralData literalData = (PGPLiteralData) dataChunk; @@ -473,9 +470,6 @@ public class PgpDecryptVerify { long alreadyWritten = 0; long wholeSize = mData.getSize() - mData.getStreamPosition(); - Log.d(Constants.TAG, "mData.getStreamPosition(): " + mData.getStreamPosition()); - Log.d(Constants.TAG, "wholeSize: " + wholeSize); - int length; byte[] buffer = new byte[1 << 16]; while ((length = dataIn.read(buffer)) > 0) { @@ -611,8 +605,7 @@ public class PgpDecryptVerify { signingKey = signingRing.getPublicKey(sigKeyId); signatureIndex = i; } catch (ProviderHelper.NotFoundException e) { - Log.d(Constants.TAG, "key not found!"); - // try next one... + Log.d(Constants.TAG, "key not found, trying next signature..."); } } @@ -628,7 +621,7 @@ public class PgpDecryptVerify { try { signatureResultBuilder.userId(signingRing.getPrimaryUserIdWithFallback()); } catch (PgpGeneralException e) { - Log.d(Constants.TAG, "No primary user id in key " + signingRing.getMasterKeyId()); + Log.d(Constants.TAG, "No primary user id in key with master key id " + signingRing.getMasterKeyId()); } signatureResultBuilder.signatureKeyCertified(signingRing.getVerified() > 0); -- cgit v1.2.3 From 94b7b1b5d85339f38aff6a49535522af12213c75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 09:55:24 +0200 Subject: progress for signing binary --- .../keychain/pgp/PgpSignEncrypt.java | 42 ++++++++++++++-------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java index b42e832fa..dda3f260c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java @@ -37,6 +37,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.util.InputData; import org.sufficientlysecure.keychain.util.Log; +import org.sufficientlysecure.keychain.util.ProgressScaler; import java.io.BufferedReader; import java.io.IOException; @@ -131,7 +132,7 @@ public class PgpSignEncrypt { this.mOutStream = outStream; } - public Builder setProgressable(Progressable progressable) { + public Builder setProgressable(Progressable progressable) { mProgressable = progressable; return this; } @@ -277,7 +278,7 @@ public class PgpSignEncrypt { } try { signingKey = signingKeyRing.getSigningSubKey(); - } catch(PgpGeneralException e) { + } catch (PgpGeneralException e) { throw new NoSigningKeyException(); } @@ -293,7 +294,7 @@ public class PgpSignEncrypt { throw new KeyExtractionException(); } } - updateProgress(R.string.progress_preparing_streams, 5, 100); + updateProgress(R.string.progress_preparing_streams, 2, 100); /* Initialize PGPEncryptedDataGenerator for later usage */ PGPEncryptedDataGenerator cPk = null; @@ -334,13 +335,13 @@ public class PgpSignEncrypt { PGPSignatureGenerator signatureGenerator = null; PGPV3SignatureGenerator signatureV3Generator = null; if (enableSignature) { - updateProgress(R.string.progress_preparing_signature, 10, 100); + updateProgress(R.string.progress_preparing_signature, 4, 100); try { boolean cleartext = mCleartextInput && mEnableAsciiArmorOutput && !enableEncryption; if (mSignatureForceV3) { signatureV3Generator = signingKey.getV3SignatureGenerator( - mSignatureHashAlgorithm,cleartext); + mSignatureHashAlgorithm, cleartext); } else { signatureGenerator = signingKey.getSignatureGenerator( mSignatureHashAlgorithm, cleartext); @@ -351,13 +352,15 @@ public class PgpSignEncrypt { } } + ProgressScaler progressScaler = + new ProgressScaler(mProgressable, 8, 95, 100); PGPCompressedDataGenerator compressGen = null; OutputStream pOut; OutputStream encryptionOut = null; BCPGOutputStream bcpgOut; if (enableEncryption) { /* actual encryption */ - updateProgress(R.string.progress_encrypting, 20, 100); + updateProgress(R.string.progress_encrypting, 8, 100); encryptionOut = cPk.open(out, new byte[1 << 16]); @@ -398,8 +401,9 @@ public class PgpSignEncrypt { } alreadyWritten += length; - if (mData.getSize() != 0) { - updateProgress((int) (20 + (95 - 20) * alreadyWritten / mData.getSize()), 100); + if (mData.getSize() > 0) { + long progress = 100 * alreadyWritten / mData.getSize(); + progressScaler.setProgress((int) progress, 100); } } @@ -407,7 +411,7 @@ public class PgpSignEncrypt { } else if (enableSignature && mCleartextInput && mEnableAsciiArmorOutput) { /* cleartext signature: sign-only of ascii text */ - updateProgress(R.string.progress_signing, 40, 100); + updateProgress(R.string.progress_signing, 8, 100); // write -----BEGIN PGP SIGNED MESSAGE----- armorOut.beginClearText(mSignatureHashAlgorithm); @@ -422,6 +426,7 @@ public class PgpSignEncrypt { processLine(reader.readLine(), armorOut, signatureGenerator); } + // TODO: progress: fake annealing? while (true) { String line = reader.readLine(); @@ -449,7 +454,7 @@ public class PgpSignEncrypt { } else if (enableSignature && !mCleartextInput) { /* sign-only binary (files/data stream) */ - updateProgress(R.string.progress_signing, 40, 100); + updateProgress(R.string.progress_signing, 8, 100); InputStream in = mData.getInputStream(); @@ -471,15 +476,22 @@ public class PgpSignEncrypt { pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, "", new Date(), new byte[1 << 16]); + long alreadyWritten = 0; + int length; byte[] buffer = new byte[1 << 16]; - int n; - while ((n = in.read(buffer)) > 0) { - pOut.write(buffer, 0, n); + while ((length = in.read(buffer)) > 0) { + pOut.write(buffer, 0, length); if (mSignatureForceV3) { - signatureV3Generator.update(buffer, 0, n); + signatureV3Generator.update(buffer, 0, length); } else { - signatureGenerator.update(buffer, 0, n); + signatureGenerator.update(buffer, 0, length); + } + + alreadyWritten += length; + if (mData.getSize() > 0) { + long progress = 100 * alreadyWritten / mData.getSize(); + progressScaler.setProgress((int) progress, 100); } } -- cgit v1.2.3 From 549feb69ed0a339f8320f52da9246aac74b60ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 10:00:24 +0200 Subject: Add option to pass original filename to PgpSignEncrypt --- .../keychain/pgp/PgpSignEncrypt.java | 32 ++++++++++++++-------- 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java index dda3f260c..4973f64bb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java @@ -72,6 +72,7 @@ public class PgpSignEncrypt { private String mSignaturePassphrase; private boolean mEncryptToSigner; private boolean mCleartextInput; + private String mOriginalFilename; private static byte[] NEW_LINE; @@ -102,6 +103,7 @@ public class PgpSignEncrypt { this.mSignaturePassphrase = builder.mSignaturePassphrase; this.mEncryptToSigner = builder.mEncryptToSigner; this.mCleartextInput = builder.mCleartextInput; + this.mOriginalFilename = builder.mOriginalFilename; } public static class Builder { @@ -124,12 +126,13 @@ public class PgpSignEncrypt { private String mSignaturePassphrase = null; private boolean mEncryptToSigner = false; private boolean mCleartextInput = false; + private String mOriginalFilename = ""; public Builder(ProviderHelper providerHelper, String versionHeader, InputData data, OutputStream outStream) { - this.mProviderHelper = providerHelper; - this.mVersionHeader = versionHeader; - this.mData = data; - this.mOutStream = outStream; + mProviderHelper = providerHelper; + mVersionHeader = versionHeader; + mData = data; + mOutStream = outStream; } public Builder setProgressable(Progressable progressable) { @@ -148,12 +151,12 @@ public class PgpSignEncrypt { } public Builder setEncryptionMasterKeyIds(long[] encryptionMasterKeyIds) { - this.mEncryptionMasterKeyIds = encryptionMasterKeyIds; + mEncryptionMasterKeyIds = encryptionMasterKeyIds; return this; } public Builder setSymmetricPassphrase(String symmetricPassphrase) { - this.mSymmetricPassphrase = symmetricPassphrase; + mSymmetricPassphrase = symmetricPassphrase; return this; } @@ -183,11 +186,13 @@ public class PgpSignEncrypt { } /** + * Also encrypt with the signing keyring + * * @param encryptToSigner * @return */ public Builder setEncryptToSigner(boolean encryptToSigner) { - this.mEncryptToSigner = encryptToSigner; + mEncryptToSigner = encryptToSigner; return this; } @@ -198,7 +203,12 @@ public class PgpSignEncrypt { * @return */ public Builder setCleartextInput(boolean cleartextInput) { - this.mCleartextInput = cleartextInput; + mCleartextInput = cleartextInput; + return this; + } + + public Builder setOriginalFilename(String originalFilename) { + mOriginalFilename = originalFilename; return this; } @@ -380,8 +390,7 @@ public class PgpSignEncrypt { } PGPLiteralDataGenerator literalGen = new PGPLiteralDataGenerator(); - // file name not needed, so empty string - pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, "", new Date(), + pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, mOriginalFilename, new Date(), new byte[1 << 16]); long alreadyWritten = 0; @@ -472,8 +481,7 @@ public class PgpSignEncrypt { } PGPLiteralDataGenerator literalGen = new PGPLiteralDataGenerator(); - // file name not needed, so empty string - pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, "", new Date(), + pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, mOriginalFilename, new Date(), new byte[1 << 16]); long alreadyWritten = 0; -- cgit v1.2.3 From b67356503511725df1b016d8a8513b6356cb450a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 17:10:47 +0200 Subject: Get original filename for decryption --- .../keychain/pgp/PgpDecryptVerify.java | 23 +++++- .../keychain/service/KeychainIntentService.java | 81 ++++++++++++++++-- .../keychain/ui/DecryptFileFragment.java | 95 ++++++++++++++++++++-- .../keychain/ui/EncryptActivity.java | 9 +- 4 files changed, 188 insertions(+), 20 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 6ce483989..2ab93ca41 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -71,6 +71,7 @@ public class PgpDecryptVerify { private boolean mAllowSymmetricDecryption; private String mPassphrase; private Set mAllowedKeyIds; + private boolean mReturnMetadataOnly; private PgpDecryptVerify(Builder builder) { // private Constructor can only be called from Builder @@ -83,6 +84,7 @@ public class PgpDecryptVerify { this.mAllowSymmetricDecryption = builder.mAllowSymmetricDecryption; this.mPassphrase = builder.mPassphrase; this.mAllowedKeyIds = builder.mAllowedKeyIds; + this.mReturnMetadataOnly = builder.mReturnMetadataOnly; } public static class Builder { @@ -97,6 +99,7 @@ public class PgpDecryptVerify { private boolean mAllowSymmetricDecryption = true; private String mPassphrase = null; private Set mAllowedKeyIds = null; + private boolean mReturnMetadataOnly = false; public Builder(ProviderHelper providerHelper, PassphraseCache passphraseCache, InputData data, OutputStream outStream) { @@ -126,7 +129,16 @@ public class PgpDecryptVerify { * This means only ciphertexts encrypted for one of these private key can be decrypted. */ public Builder setAllowedKeyIds(Set allowedKeyIds) { - this.mAllowedKeyIds = allowedKeyIds; + mAllowedKeyIds = allowedKeyIds; + return this; + } + + /** + * If enabled, the actual decryption/verification of the content will not be executed. + * The metadata only will be decrypted and returned. + */ + public Builder setReturnMetadataOnly(boolean returnMetadataOnly) { + mReturnMetadataOnly = returnMetadataOnly; return this; } @@ -442,7 +454,7 @@ public class PgpDecryptVerify { PGPLiteralData literalData = (PGPLiteralData) dataChunk; // TODO: how to get the real original size? - // this is the encrypted size + // this is the encrypted size so if we enable compression this value is wrong! long originalSize = mData.getSize() - mData.getStreamPosition(); if (originalSize < 0) { originalSize = 0; @@ -455,6 +467,13 @@ public class PgpDecryptVerify { originalSize); result.setDecryptMetadata(metadata); + Log.d(Constants.TAG, "metadata: " + metadata); + + // return here if we want to decrypt the metadata only + if (mReturnMetadataOnly) { + return result; + } + int endProgress; if (signature != null) { endProgress = 90; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 30108d52d..680f2fb27 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -86,6 +86,8 @@ public class KeychainIntentService extends IntentService public static final String ACTION_DECRYPT_VERIFY = Constants.INTENT_PREFIX + "DECRYPT_VERIFY"; + public static final String ACTION_DECRYPT_METADATA = Constants.INTENT_PREFIX + "DECRYPT_METADATA"; + public static final String ACTION_SAVE_KEYRING = Constants.INTENT_PREFIX + "SAVE_KEYRING"; public static final String ACTION_DELETE_FILE_SECURELY = Constants.INTENT_PREFIX @@ -241,6 +243,7 @@ public class KeychainIntentService extends IntentService data.putInt(SELECTED_URI, i); InputData inputData = createEncryptInputData(data); OutputStream outStream = createCryptOutputStream(data); + String originalFilename = getOriginalFilename(data); /* Operation */ PgpSignEncrypt.Builder builder = @@ -262,7 +265,8 @@ public class KeychainIntentService extends IntentService .setSignatureHashAlgorithm( Preferences.getPreferences(this).getDefaultHashAlgorithm()) .setSignaturePassphrase( - PassphraseCacheService.getCachedPassphrase(this, signatureKeyId)); + PassphraseCacheService.getCachedPassphrase(this, signatureKeyId)) + .setOriginalFilename(originalFilename); // this assumes that the bytes are cleartext (valid for current implementation!) if (source == IO_BYTES) { @@ -308,10 +312,10 @@ public class KeychainIntentService extends IntentService KeychainIntentService.this, masterKeyId); } }, - inputData, outStream); - builder.setProgressable(this); - - builder.setAllowSymmetricDecryption(true) + inputData, outStream + ); + builder.setProgressable(this) + .setAllowSymmetricDecryption(true) .setPassphrase(passphrase); PgpDecryptVerifyResult decryptVerifyResult = builder.build().execute(); @@ -326,6 +330,46 @@ public class KeychainIntentService extends IntentService OtherHelper.logDebugBundle(resultData, "resultData"); + sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, resultData); + } catch (Exception e) { + sendErrorToHandler(e); + } + } else if (ACTION_DECRYPT_METADATA.equals(action)) { + try { + /* Input */ + String passphrase = data.getString(DECRYPT_PASSPHRASE); + + InputData inputData = createDecryptInputData(data); + + /* Operation */ + + Bundle resultData = new Bundle(); + + // verifyText and decrypt returning additional resultData values for the + // verification of signatures + PgpDecryptVerify.Builder builder = new PgpDecryptVerify.Builder( + new ProviderHelper(this), + new PgpDecryptVerify.PassphraseCache() { + @Override + public String getCachedPassphrase(long masterKeyId) { + return PassphraseCacheService.getCachedPassphrase( + KeychainIntentService.this, masterKeyId); + } + }, + inputData, null + ); + builder.setProgressable(this) + .setAllowSymmetricDecryption(true) + .setPassphrase(passphrase) + .setReturnMetadataOnly(true); + + PgpDecryptVerifyResult decryptVerifyResult = builder.build().execute(); + + resultData.putParcelable(RESULT_DECRYPT_VERIFY_RESULT, decryptVerifyResult); + + /* Output */ + OtherHelper.logDebugBundle(resultData, "resultData"); + sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, resultData); } catch (Exception e) { sendErrorToHandler(e); @@ -356,7 +400,7 @@ public class KeychainIntentService extends IntentService UncachedKeyRing ring = result.getRing(); - providerHelper.saveSecretKeyRing(ring, new ProgressScaler(this, 60, 95, 100)); + providerHelper.saveSecretKeyRing(ring, new ProgressScaler(this, 60, 95, 100)); // cache new passphrase if (saveParcel.mNewPassphrase != null) { @@ -403,7 +447,7 @@ public class KeychainIntentService extends IntentService } else { // get entries from cached file FileImportCache cache = - new FileImportCache(this); + new FileImportCache(this); entries = cache.readCacheIntoList(); } @@ -576,7 +620,7 @@ public class KeychainIntentService extends IntentService CanonicalizedPublicKeyRing publicRing = providerHelper.getCanonicalizedPublicKeyRing(pubKeyId); CanonicalizedSecretKeyRing secretKeyRing = providerHelper.getCanonicalizedSecretKeyRing(masterKeyId); CanonicalizedSecretKey certificationKey = secretKeyRing.getSecretKey(); - if(!certificationKey.unlock(signaturePassphrase)) { + if (!certificationKey.unlock(signaturePassphrase)) { throw new PgpGeneralException("Error extracting key (bad passphrase?)"); } UncachedKeyRing newRing = certificationKey.certifyUserIds(publicRing, userIds); @@ -729,6 +773,27 @@ public class KeychainIntentService extends IntentService } } + private String getOriginalFilename(Bundle data) throws PgpGeneralException, FileNotFoundException { + int target = data.getInt(TARGET); + switch (target) { + case IO_BYTES: + return ""; + + case IO_URI: + Uri providerUri = data.getParcelable(ENCRYPT_INPUT_URI); + + return FileHelper.getFilename(this, providerUri); + + case IO_URIS: + providerUri = data.getParcelableArrayList(ENCRYPT_INPUT_URIS).get(data.getInt(SELECTED_URI)); + + return FileHelper.getFilename(this, providerUri); + + default: + throw new PgpGeneralException("No target choosen!"); + } + } + private OutputStream createCryptOutputStream(Bundle data) throws PgpGeneralException, FileNotFoundException { int target = data.getInt(TARGET); switch (target) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFileFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFileFragment.java index c33b1489a..845fbfa3b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFileFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFileFragment.java @@ -23,8 +23,10 @@ import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Handler; import android.os.Message; import android.os.Messenger; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -38,6 +40,7 @@ import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyResult; import org.sufficientlysecure.keychain.service.KeychainIntentService; import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler; import org.sufficientlysecure.keychain.ui.dialog.DeleteFileDialogFragment; +import org.sufficientlysecure.keychain.ui.dialog.PassphraseDialogFragment; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Notify; @@ -113,7 +116,8 @@ public class DecryptFileFragment extends DecryptFragment { return; } - askForOutputFilename(); +// askForOutputFilename(); + decryptOriginalFilename(null); } private String removeEncryptedAppend(String name) { @@ -123,8 +127,13 @@ public class DecryptFileFragment extends DecryptFragment { return name; } - private void askForOutputFilename() { - String targetName = removeEncryptedAppend(FileHelper.getFilename(getActivity(), mInputUri)); + private void askForOutputFilename(String originalFilename) { + String targetName; + if (!TextUtils.isEmpty(originalFilename)) { + targetName = originalFilename; + } else { + targetName = removeEncryptedAppend(FileHelper.getFilename(getActivity(), mInputUri)); + } if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { File file = new File(mInputUri.getPath()); File parentDir = file.exists() ? file.getParentFile() : Constants.Path.APP_DIR; @@ -136,6 +145,82 @@ public class DecryptFileFragment extends DecryptFragment { } } + private void decryptOriginalFilename(String passphrase) { + Log.d(Constants.TAG, "decryptOriginalFilename"); + + Intent intent = new Intent(getActivity(), KeychainIntentService.class); + + // fill values for this action + Bundle data = new Bundle(); + intent.setAction(KeychainIntentService.ACTION_DECRYPT_METADATA); + + // data + Log.d(Constants.TAG, "mInputUri=" + mInputUri + ", mOutputUri=" + mOutputUri); + + data.putInt(KeychainIntentService.SOURCE, KeychainIntentService.IO_URI); + data.putParcelable(KeychainIntentService.ENCRYPT_INPUT_URI, mInputUri); + + data.putInt(KeychainIntentService.TARGET, KeychainIntentService.IO_URI); + data.putParcelable(KeychainIntentService.ENCRYPT_OUTPUT_URI, mOutputUri); + + data.putString(KeychainIntentService.DECRYPT_PASSPHRASE, passphrase); + + intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + + // Message is received after decrypting is done in KeychainIntentService + KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(getActivity(), + getString(R.string.progress_decrypting), ProgressDialog.STYLE_HORIZONTAL) { + public void handleMessage(Message message) { + // handle messages by standard KeychainIntentServiceHandler first + super.handleMessage(message); + + if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) { + // get returned data bundle + Bundle returnData = message.getData(); + + PgpDecryptVerifyResult decryptVerifyResult = + returnData.getParcelable(KeychainIntentService.RESULT_DECRYPT_VERIFY_RESULT); + + if (PgpDecryptVerifyResult.KEY_PASSHRASE_NEEDED == decryptVerifyResult.getStatus()) { + showPassphraseDialogForFilename(decryptVerifyResult.getKeyIdPassphraseNeeded()); + } else if (PgpDecryptVerifyResult.SYMMETRIC_PASSHRASE_NEEDED == + decryptVerifyResult.getStatus()) { + showPassphraseDialogForFilename(Constants.key.symmetric); + } else { + + // go on... + askForOutputFilename(decryptVerifyResult.getDecryptMetadata().getFilename()); + } + } + } + }; + + // Create a new Messenger for the communication back + Messenger messenger = new Messenger(saveHandler); + intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + + // show progress dialog + saveHandler.showProgressDialog(getActivity()); + + // start service with intent + getActivity().startService(intent); + } + + protected void showPassphraseDialogForFilename(long keyId) { + PassphraseDialogFragment.show(getActivity(), keyId, + new Handler() { + @Override + public void handleMessage(Message message) { + if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) { + String passphrase = + message.getData().getString(PassphraseDialogFragment.MESSAGE_DATA_PASSPHRASE); + decryptOriginalFilename(passphrase); + } + } + } + ); + } + @Override protected void decryptStart(String passphrase) { Log.d(Constants.TAG, "decryptStart"); @@ -161,7 +246,7 @@ public class DecryptFileFragment extends DecryptFragment { intent.putExtra(KeychainIntentService.EXTRA_DATA, data); - // Message is received after encrypting is done in KeychainIntentService + // Message is received after decrypting is done in KeychainIntentService KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(getActivity(), getString(R.string.progress_decrypting), ProgressDialog.STYLE_HORIZONTAL) { public void handleMessage(Message message) { @@ -178,7 +263,7 @@ public class DecryptFileFragment extends DecryptFragment { if (PgpDecryptVerifyResult.KEY_PASSHRASE_NEEDED == decryptVerifyResult.getStatus()) { showPassphraseDialog(decryptVerifyResult.getKeyIdPassphraseNeeded()); } else if (PgpDecryptVerifyResult.SYMMETRIC_PASSHRASE_NEEDED == - decryptVerifyResult.getStatus()) { + decryptVerifyResult.getStatus()) { showPassphraseDialog(Constants.key.symmetric); } else { // display signature result in activity diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index ab26d539a..a5cf4d84d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -264,12 +264,12 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn // fill values for this action Bundle data = new Bundle(); - int compressionId; if (isContentMessage()) { data.putInt(KeychainIntentService.TARGET, KeychainIntentService.IO_BYTES); data.putByteArray(KeychainIntentService.ENCRYPT_MESSAGE_BYTES, mMessage.getBytes()); - compressionId = Preferences.getPreferences(this).getDefaultMessageCompression(); + data.putInt(KeychainIntentService.ENCRYPT_COMPRESSION_ID, + Preferences.getPreferences(this).getDefaultMessageCompression()); } else { data.putInt(KeychainIntentService.SOURCE, KeychainIntentService.IO_URIS); data.putParcelableArrayList(KeychainIntentService.ENCRYPT_INPUT_URIS, mInputUris); @@ -277,10 +277,10 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn data.putInt(KeychainIntentService.TARGET, KeychainIntentService.IO_URIS); data.putParcelableArrayList(KeychainIntentService.ENCRYPT_OUTPUT_URIS, mOutputUris); - compressionId = Preferences.getPreferences(this).getDefaultFileCompression(); + data.putInt(KeychainIntentService.ENCRYPT_COMPRESSION_ID, + Preferences.getPreferences(this).getDefaultFileCompression()); } - data.putInt(KeychainIntentService.ENCRYPT_COMPRESSION_ID, compressionId); // Always use armor for messages data.putBoolean(KeychainIntentService.ENCRYPT_USE_ASCII_ARMOR, mUseArmor || isContentMessage()); @@ -429,7 +429,6 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn if (isModeSymmetric()) { // symmetric encryption checks - if (mPassphrase == null) { Notify.showNotify(this, R.string.passphrases_do_not_match, Notify.Style.ERROR); return false; -- cgit v1.2.3 From 59096b37fdfef1d9294990a64c755080585b1da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 17:22:53 +0200 Subject: Support API versions 3 and 4 --- .../java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 5ed95acb3..d3a38c5d7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -507,7 +507,10 @@ public class OpenPgpService extends RemoteService { } // version code is required and needs to correspond to version code of service! - if (data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) != OpenPgpApi.API_VERSION) { + // History of versions in org.openintents.openpgp.util.OpenPgpApi + // we support 3 and 4 + if (data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) != 3 + || data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) != 4) { Intent result = new Intent(); OpenPgpError error = new OpenPgpError (OpenPgpError.INCOMPATIBLE_API_VERSIONS, "Incompatible API versions!"); -- cgit v1.2.3 From d5b40de70a9a53372a3c538ad4ec2656a63b7984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 17:29:41 +0200 Subject: Decrypt metadata api --- .../keychain/pgp/PgpDecryptVerify.java | 12 ++++++------ .../keychain/remote/OpenPgpService.java | 20 +++++++++++++++++--- .../keychain/service/KeychainIntentService.java | 2 +- 3 files changed, 24 insertions(+), 10 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 2ab93ca41..5a5e51f99 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -71,7 +71,7 @@ public class PgpDecryptVerify { private boolean mAllowSymmetricDecryption; private String mPassphrase; private Set mAllowedKeyIds; - private boolean mReturnMetadataOnly; + private boolean mDecryptMetadataOnly; private PgpDecryptVerify(Builder builder) { // private Constructor can only be called from Builder @@ -84,7 +84,7 @@ public class PgpDecryptVerify { this.mAllowSymmetricDecryption = builder.mAllowSymmetricDecryption; this.mPassphrase = builder.mPassphrase; this.mAllowedKeyIds = builder.mAllowedKeyIds; - this.mReturnMetadataOnly = builder.mReturnMetadataOnly; + this.mDecryptMetadataOnly = builder.mDecryptMetadataOnly; } public static class Builder { @@ -99,7 +99,7 @@ public class PgpDecryptVerify { private boolean mAllowSymmetricDecryption = true; private String mPassphrase = null; private Set mAllowedKeyIds = null; - private boolean mReturnMetadataOnly = false; + private boolean mDecryptMetadataOnly = false; public Builder(ProviderHelper providerHelper, PassphraseCache passphraseCache, InputData data, OutputStream outStream) { @@ -137,8 +137,8 @@ public class PgpDecryptVerify { * If enabled, the actual decryption/verification of the content will not be executed. * The metadata only will be decrypted and returned. */ - public Builder setReturnMetadataOnly(boolean returnMetadataOnly) { - mReturnMetadataOnly = returnMetadataOnly; + public Builder setDecryptMetadataOnly(boolean decryptMetadataOnly) { + mDecryptMetadataOnly = decryptMetadataOnly; return this; } @@ -470,7 +470,7 @@ public class PgpDecryptVerify { Log.d(Constants.TAG, "metadata: " + metadata); // return here if we want to decrypt the metadata only - if (mReturnMetadataOnly) { + if (mDecryptMetadataOnly) { return result; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index d3a38c5d7..5c94f4796 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -25,6 +25,7 @@ import android.os.IBinder; import android.os.ParcelFileDescriptor; import org.openintents.openpgp.IOpenPgpService; +import org.openintents.openpgp.OpenPgpDecryptMetadata; import org.openintents.openpgp.OpenPgpError; import org.openintents.openpgp.OpenPgpSignatureResult; import org.openintents.openpgp.util.OpenPgpApi; @@ -326,7 +327,8 @@ public class OpenPgpService extends RemoteService { } private Intent decryptAndVerifyImpl(Intent data, ParcelFileDescriptor input, - ParcelFileDescriptor output, Set allowedKeyIds) { + ParcelFileDescriptor output, Set allowedKeyIds, + boolean decryptMetadataOnly) { try { // Get Input- and OutputStream from ParcelFileDescriptor InputStream is = new ParcelFileDescriptor.AutoCloseInputStream(input); @@ -353,7 +355,8 @@ public class OpenPgpService extends RemoteService { builder.setAllowSymmetricDecryption(false) // no support for symmetric encryption .setAllowedKeyIds(allowedKeyIds) // allow only private keys associated with // accounts of this app - .setPassphrase(passphrase); + .setPassphrase(passphrase) + .setDecryptMetadataOnly(decryptMetadataOnly); PgpDecryptVerifyResult decryptVerifyResult; try { @@ -403,6 +406,11 @@ public class OpenPgpService extends RemoteService { } } + OpenPgpDecryptMetadata metadata = decryptVerifyResult.getDecryptMetadata(); + if (metadata != null) { + result.putExtra(OpenPgpApi.RESULT_METADATA, metadata); + } + } finally { is.close(); os.close(); @@ -561,7 +569,13 @@ public class OpenPgpService extends RemoteService { Set allowedKeyIds = mProviderHelper.getAllKeyIdsForApp( ApiAccounts.buildBaseUri(currentPkg)); - return decryptAndVerifyImpl(data, input, output, allowedKeyIds); + return decryptAndVerifyImpl(data, input, output, allowedKeyIds, false); + } else if (OpenPgpApi.ACTION_DECRYPT_METADATA.equals(action)) { + String currentPkg = getCurrentCallingPackage(); + Set allowedKeyIds = + mProviderHelper.getAllKeyIdsForApp( + ApiAccounts.buildBaseUri(currentPkg)); + return decryptAndVerifyImpl(data, input, output, allowedKeyIds, true); } else if (OpenPgpApi.ACTION_GET_KEY.equals(action)) { return getKeyImpl(data); } else if (OpenPgpApi.ACTION_GET_KEY_IDS.equals(action)) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 680f2fb27..54895973b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -361,7 +361,7 @@ public class KeychainIntentService extends IntentService builder.setProgressable(this) .setAllowSymmetricDecryption(true) .setPassphrase(passphrase) - .setReturnMetadataOnly(true); + .setDecryptMetadataOnly(true); PgpDecryptVerifyResult decryptVerifyResult = builder.build().execute(); -- cgit v1.2.3 From abf50c37500dd0f3dfdc10820cb46bf4f9566cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 20:16:21 +0200 Subject: Support mime type in metadata --- .../keychain/pgp/PgpDecryptVerify.java | 29 ++++++++++++++++++++-- .../keychain/ui/EncryptActivity.java | 1 - 2 files changed, 27 insertions(+), 3 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 5a5e51f99..9a18fc5f0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -18,6 +18,8 @@ package org.sufficientlysecure.keychain.pgp; +import android.webkit.MimeTypeMap; + import org.openintents.openpgp.OpenPgpDecryptMetadata; import org.spongycastle.bcpg.ArmoredInputStream; import org.spongycastle.openpgp.PGPCompressedData; @@ -54,6 +56,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.URLConnection; import java.security.SignatureException; import java.util.Iterator; import java.util.Set; @@ -460,10 +463,32 @@ public class PgpDecryptVerify { originalSize = 0; } + String originalFilename = literalData.getFileName(); + String mimeType = null; + if (literalData.getFormat() == PGPLiteralData.TEXT + || literalData.getFormat() == PGPLiteralData.UTF8) { + mimeType = "text/plain"; + } else { + // TODO: better would be: https://github.com/open-keychain/open-keychain/issues/753 + + // try to guess from file ending + String extension = MimeTypeMap.getFileExtensionFromUrl(originalFilename); + if (extension != null) { + MimeTypeMap mime = MimeTypeMap.getSingleton(); + mimeType = mime.getMimeTypeFromExtension(extension); + } + if (mimeType == null) { + mimeType = URLConnection.guessContentTypeFromName(originalFilename); + } + if (mimeType == null) { + mimeType = "*/*"; + } + } + OpenPgpDecryptMetadata metadata = new OpenPgpDecryptMetadata( - literalData.getFileName(), + originalFilename, + mimeType, literalData.getModificationTime().getTime(), - literalData.getFormat(), originalSize); result.setDecryptMetadata(metadata); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index a5cf4d84d..b140c5a03 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -281,7 +281,6 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn Preferences.getPreferences(this).getDefaultFileCompression()); } - // Always use armor for messages data.putBoolean(KeychainIntentService.ENCRYPT_USE_ASCII_ARMOR, mUseArmor || isContentMessage()); -- cgit v1.2.3 From acf5b99434ab959feea8d6dd183b39b36e111814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 21:26:52 +0200 Subject: Update api lib --- .../org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 4 ++-- .../keychain/pgp/PgpDecryptVerifyResult.java | 10 +++++----- .../org/sufficientlysecure/keychain/remote/OpenPgpService.java | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 9a18fc5f0..6fa380357 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -20,7 +20,7 @@ package org.sufficientlysecure.keychain.pgp; import android.webkit.MimeTypeMap; -import org.openintents.openpgp.OpenPgpDecryptMetadata; +import org.openintents.openpgp.OpenPgpMetadata; import org.spongycastle.bcpg.ArmoredInputStream; import org.spongycastle.openpgp.PGPCompressedData; import org.spongycastle.openpgp.PGPEncryptedData; @@ -485,7 +485,7 @@ public class PgpDecryptVerify { } } - OpenPgpDecryptMetadata metadata = new OpenPgpDecryptMetadata( + OpenPgpMetadata metadata = new OpenPgpMetadata( originalFilename, mimeType, literalData.getModificationTime().getTime(), diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java index d16c6ecc0..506f48c52 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyResult.java @@ -20,7 +20,7 @@ package org.sufficientlysecure.keychain.pgp; import android.os.Parcel; import android.os.Parcelable; -import org.openintents.openpgp.OpenPgpDecryptMetadata; +import org.openintents.openpgp.OpenPgpMetadata; import org.openintents.openpgp.OpenPgpSignatureResult; public class PgpDecryptVerifyResult implements Parcelable { @@ -32,7 +32,7 @@ public class PgpDecryptVerifyResult implements Parcelable { long mKeyIdPassphraseNeeded; OpenPgpSignatureResult mSignatureResult; - OpenPgpDecryptMetadata mDecryptMetadata; + OpenPgpMetadata mDecryptMetadata; public int getStatus() { return mStatus; @@ -58,11 +58,11 @@ public class PgpDecryptVerifyResult implements Parcelable { mSignatureResult = signatureResult; } - public OpenPgpDecryptMetadata getDecryptMetadata() { + public OpenPgpMetadata getDecryptMetadata() { return mDecryptMetadata; } - public void setDecryptMetadata(OpenPgpDecryptMetadata decryptMetadata) { + public void setDecryptMetadata(OpenPgpMetadata decryptMetadata) { mDecryptMetadata = decryptMetadata; } @@ -95,7 +95,7 @@ public class PgpDecryptVerifyResult implements Parcelable { vr.mStatus = source.readInt(); vr.mKeyIdPassphraseNeeded = source.readLong(); vr.mSignatureResult = source.readParcelable(OpenPgpSignatureResult.class.getClassLoader()); - vr.mDecryptMetadata = source.readParcelable(OpenPgpDecryptMetadata.class.getClassLoader()); + vr.mDecryptMetadata = source.readParcelable(OpenPgpMetadata.class.getClassLoader()); return vr; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 5c94f4796..365401584 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -25,7 +25,7 @@ import android.os.IBinder; import android.os.ParcelFileDescriptor; import org.openintents.openpgp.IOpenPgpService; -import org.openintents.openpgp.OpenPgpDecryptMetadata; +import org.openintents.openpgp.OpenPgpMetadata; import org.openintents.openpgp.OpenPgpError; import org.openintents.openpgp.OpenPgpSignatureResult; import org.openintents.openpgp.util.OpenPgpApi; @@ -406,7 +406,7 @@ public class OpenPgpService extends RemoteService { } } - OpenPgpDecryptMetadata metadata = decryptVerifyResult.getDecryptMetadata(); + OpenPgpMetadata metadata = decryptVerifyResult.getDecryptMetadata(); if (metadata != null) { result.putExtra(OpenPgpApi.RESULT_METADATA, metadata); } -- cgit v1.2.3 From ae5e75f4e1e86831facc25fe97c1951b4a1aecee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Aug 2014 23:57:11 +0200 Subject: Implement EXTRA_ORIGINAL_FILENAME for API --- .../org/sufficientlysecure/keychain/remote/OpenPgpService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 365401584..da419b241 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -226,6 +226,10 @@ public class OpenPgpService extends RemoteService { boolean sign) { try { boolean asciiArmor = data.getBooleanExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true); + String originalFilename = data.getStringExtra(OpenPgpApi.EXTRA_ORIGINAL_FILENAME); + if (originalFilename == null) { + originalFilename = ""; + } long[] keyIds; if (data.hasExtra(OpenPgpApi.EXTRA_KEY_IDS)) { @@ -271,7 +275,8 @@ public class OpenPgpService extends RemoteService { builder.setEnableAsciiArmorOutput(asciiArmor) .setCompressionId(accSettings.getCompression()) .setSymmetricEncryptionAlgorithm(accSettings.getEncryptionAlgorithm()) - .setEncryptionMasterKeyIds(keyIds); + .setEncryptionMasterKeyIds(keyIds) + .setOriginalFilename(originalFilename); if (sign) { String passphrase; -- cgit v1.2.3 From 4fdf9ab48608c02e7673cacd20e732fb9eaa08a7 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Tue, 12 Aug 2014 12:57:08 +0200 Subject: Only show keyrings that have a valid sign key in from field, fixes #756 --- .../keychain/ui/EncryptAsymmetricFragment.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java index 3de617ca0..67adbc136 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java @@ -145,24 +145,16 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi KeyRings.MASTER_KEY_ID, KeyRings.KEY_ID, KeyRings.USER_ID, - KeyRings.EXPIRY, - KeyRings.IS_REVOKED, - // can certify info only related to master key - KeyRings.CAN_CERTIFY, // has sign may be any subkey KeyRings.HAS_SIGN, - KeyRings.HAS_ANY_SECRET, - KeyRings.HAS_SECRET + KeyRings.HAS_ANY_SECRET }; - String where = KeyRings.HAS_ANY_SECRET + " = 1"; + String where = KeyRings.HAS_ANY_SECRET + " = 1 AND " + KeyRings.HAS_SIGN + " NOT NULL"; // Now create and return a CursorLoader that will take care of // creating a Cursor for the data being displayed. return new CursorLoader(getActivity(), baseUri, projection, where, null, null); - /*return new CursorLoader(getActivity(), KeyRings.buildUnifiedKeyRingsUri(), - new String[]{KeyRings.USER_ID, KeyRings.KEY_ID, KeyRings.MASTER_KEY_ID, KeyRings.HAS_ANY_SECRET}, SIGN_KEY_SELECTION, - null, null);*/ } @Override -- cgit v1.2.3 From a4a6314041ebd20b9945acf503817766c99473be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 12 Aug 2014 13:54:46 +0200 Subject: Fix API version support, update api lib --- .../java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index da419b241..c81b29a5e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -523,10 +523,12 @@ public class OpenPgpService extends RemoteService { // History of versions in org.openintents.openpgp.util.OpenPgpApi // we support 3 and 4 if (data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) != 3 - || data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) != 4) { + && data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) != 4) { Intent result = new Intent(); OpenPgpError error = new OpenPgpError - (OpenPgpError.INCOMPATIBLE_API_VERSIONS, "Incompatible API versions!"); + (OpenPgpError.INCOMPATIBLE_API_VERSIONS, "Incompatible API versions!\n" + + "used API version: " + data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) + "\n" + + "supported API versions: 3, 4"); result.putExtra(OpenPgpApi.RESULT_ERROR, error); result.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR); return result; -- cgit v1.2.3 From 80674021b58395371f3dab31defb055b4ee0b288 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Tue, 12 Aug 2014 13:54:56 +0200 Subject: Add convenience method to unified keyrings to determine whether a keyring is expired, fix is_revoked for certain usages --- .../org/sufficientlysecure/keychain/provider/KeychainContract.java | 3 ++- .../org/sufficientlysecure/keychain/provider/KeychainProvider.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java index 56168847f..dd59f8603 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java @@ -105,8 +105,9 @@ public class KeychainContract { public static class KeyRings implements BaseColumns, KeysColumns, UserIdsColumns { public static final String MASTER_KEY_ID = KeysColumns.MASTER_KEY_ID; - public static final String IS_REVOKED = KeysColumns.IS_REVOKED; + public static final String IS_REVOKED = KeychainDatabase.Tables.KEYS + "." + KeysColumns.IS_REVOKED; public static final String VERIFIED = CertsColumns.VERIFIED; + public static final String IS_EXPIRED = "is_expired"; public static final String HAS_ANY_SECRET = "has_any_secret"; public static final String HAS_ENCRYPT = "has_encrypt"; public static final String HAS_SIGN = "has_sign"; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java index b651069e9..2b686b8ff 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java @@ -271,6 +271,9 @@ public class KeychainProvider extends ContentProvider { "kE." + Keys.KEY_ID + " AS " + KeyRings.HAS_ENCRYPT); projectionMap.put(KeyRings.HAS_SIGN, "kS." + Keys.KEY_ID + " AS " + KeyRings.HAS_SIGN); + projectionMap.put(KeyRings.IS_EXPIRED, + "(" + Tables.KEYS + "." + Keys.EXPIRY + " < " + new Date().getTime() / 1000 + ") AS " + + KeyRings.IS_EXPIRED); qb.setProjectionMap(projectionMap); // Need this as list so we can search in it -- cgit v1.2.3 From 82a41a2f7cf446d774408f08b26ebb69e7069109 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Tue, 12 Aug 2014 13:56:30 +0200 Subject: Only show relevant keys in encrypt, fix #756 #757 --- .../keychain/ui/EncryptAsymmetricFragment.java | 5 ++-- .../ui/widget/EncryptKeyCompletionView.java | 35 +++++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java index 67adbc136..bc3b140c3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java @@ -145,12 +145,13 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi KeyRings.MASTER_KEY_ID, KeyRings.KEY_ID, KeyRings.USER_ID, - // has sign may be any subkey + KeyRings.IS_EXPIRED, KeyRings.HAS_SIGN, KeyRings.HAS_ANY_SECRET }; - String where = KeyRings.HAS_ANY_SECRET + " = 1 AND " + KeyRings.HAS_SIGN + " NOT NULL"; + String where = KeyRings.HAS_ANY_SECRET + " = 1 AND " + KeyRings.HAS_SIGN + " NOT NULL AND " + + KeyRings.IS_REVOKED + " = 0 AND " + KeyRings.IS_EXPIRED + " = 0"; // Now create and return a CursorLoader that will take care of // creating a Cursor for the data being displayed. diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java index 7e762fe77..20b9570bb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EncryptKeyCompletionView.java @@ -22,6 +22,7 @@ import android.content.Context; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.Rect; +import android.net.Uri; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager; @@ -45,7 +46,7 @@ import org.sufficientlysecure.keychain.pgp.KeyRing; import org.sufficientlysecure.keychain.pgp.PgpKeyHelper; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing; -import org.sufficientlysecure.keychain.provider.KeychainContract; +import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.util.Log; import java.util.ArrayList; @@ -113,9 +114,23 @@ public class EncryptKeyCompletionView extends TokenCompleteTextView { ((FragmentActivity) getContext()).getSupportLoaderManager().initLoader(0, null, new LoaderManager.LoaderCallbacks() { @Override public Loader onCreateLoader(int id, Bundle args) { - return new CursorLoader(getContext(), KeychainContract.KeyRings.buildUnifiedKeyRingsUri(), - new String[]{KeychainContract.KeyRings.HAS_ENCRYPT, KeychainContract.KeyRings.KEY_ID, KeychainContract.KeyRings.USER_ID, KeychainContract.KeyRings.FINGERPRINT}, - null, null, null); + // These are the rows that we will retrieve. + Uri baseUri = KeyRings.buildUnifiedKeyRingsUri(); + + String[] projection = new String[]{ + KeyRings._ID, + KeyRings.MASTER_KEY_ID, + KeyRings.KEY_ID, + KeyRings.USER_ID, + KeyRings.FINGERPRINT, + KeyRings.IS_EXPIRED, + KeyRings.HAS_ENCRYPT + }; + + String where = KeyRings.HAS_ENCRYPT + " NOT NULL AND " + KeyRings.IS_EXPIRED + " = 0 AND " + + KeyRings.IS_REVOKED + " = 0"; + + return new CursorLoader(getContext(), baseUri, projection, where, null, null); } @Override @@ -148,10 +163,8 @@ public class EncryptKeyCompletionView extends TokenCompleteTextView { ArrayList keys = new ArrayList(); while (cursor.moveToNext()) { try { - if (cursor.getInt(cursor.getColumnIndexOrThrow(KeychainContract.KeyRings.HAS_ENCRYPT)) != 0) { - EncryptionKey key = new EncryptionKey(cursor); - keys.add(key); - } + EncryptionKey key = new EncryptionKey(cursor); + keys.add(key); } catch (Exception e) { Log.w(Constants.TAG, e); return; @@ -174,10 +187,10 @@ public class EncryptKeyCompletionView extends TokenCompleteTextView { } public EncryptionKey(Cursor cursor) { - this(cursor.getString(cursor.getColumnIndexOrThrow(KeychainContract.KeyRings.USER_ID)), - cursor.getLong(cursor.getColumnIndexOrThrow(KeychainContract.KeyRings.KEY_ID)), + this(cursor.getString(cursor.getColumnIndexOrThrow(KeyRings.USER_ID)), + cursor.getLong(cursor.getColumnIndexOrThrow(KeyRings.KEY_ID)), PgpKeyHelper.convertFingerprintToHex( - cursor.getBlob(cursor.getColumnIndexOrThrow(KeychainContract.KeyRings.FINGERPRINT)))); + cursor.getBlob(cursor.getColumnIndexOrThrow(KeyRings.FINGERPRINT)))); } -- cgit v1.2.3 From fd055a893be2bcc75dfb2ef768479e8536df6ffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 12 Aug 2014 17:04:11 +0200 Subject: Fix DECRYPT_METADATA api --- .../keychain/remote/OpenPgpService.java | 30 +++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index c81b29a5e..50c8fcf3b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -213,6 +213,7 @@ public class OpenPgpService extends RemoteService { result.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS); return result; } catch (Exception e) { + Log.d(Constants.TAG, "signImpl", e); Intent result = new Intent(); result.putExtra(OpenPgpApi.RESULT_ERROR, new OpenPgpError(OpenPgpError.GENERIC_ERROR, e.getMessage())); @@ -323,6 +324,7 @@ public class OpenPgpService extends RemoteService { result.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS); return result; } catch (Exception e) { + Log.d(Constants.TAG, "encryptAndSignImpl", e); Intent result = new Intent(); result.putExtra(OpenPgpApi.RESULT_ERROR, new OpenPgpError(OpenPgpError.GENERIC_ERROR, e.getMessage())); @@ -337,7 +339,13 @@ public class OpenPgpService extends RemoteService { try { // Get Input- and OutputStream from ParcelFileDescriptor InputStream is = new ParcelFileDescriptor.AutoCloseInputStream(input); - OutputStream os = new ParcelFileDescriptor.AutoCloseOutputStream(output); + + OutputStream os; + if (decryptMetadataOnly) { + os = null; + } else { + os = new ParcelFileDescriptor.AutoCloseOutputStream(output); + } Intent result = new Intent(); try { @@ -357,10 +365,12 @@ public class OpenPgpService extends RemoteService { }, inputData, os ); - builder.setAllowSymmetricDecryption(false) // no support for symmetric encryption - .setAllowedKeyIds(allowedKeyIds) // allow only private keys associated with - // accounts of this app - .setPassphrase(passphrase) + + // allow only private keys associated with accounts of this app + // no support for symmetric encryption + builder.setPassphrase(passphrase) + .setAllowSymmetricDecryption(false) + .setAllowedKeyIds(allowedKeyIds) .setDecryptMetadataOnly(decryptMetadataOnly); PgpDecryptVerifyResult decryptVerifyResult; @@ -386,8 +396,7 @@ public class OpenPgpService extends RemoteService { Intent passphraseBundle = getPassphraseBundleIntent(data, decryptVerifyResult.getKeyIdPassphraseNeeded()); return passphraseBundle; - } else if (PgpDecryptVerifyResult.SYMMETRIC_PASSHRASE_NEEDED == - decryptVerifyResult.getStatus()) { + } else if (PgpDecryptVerifyResult.SYMMETRIC_PASSHRASE_NEEDED == decryptVerifyResult.getStatus()) { throw new PgpGeneralException("Decryption of symmetric content not supported by API!"); } @@ -418,12 +427,15 @@ public class OpenPgpService extends RemoteService { } finally { is.close(); - os.close(); + if (os != null) { + os.close(); + } } result.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS); return result; } catch (Exception e) { + Log.d(Constants.TAG, "decryptAndVerifyImpl", e); Intent result = new Intent(); result.putExtra(OpenPgpApi.RESULT_ERROR, new OpenPgpError(OpenPgpError.GENERIC_ERROR, e.getMessage())); @@ -473,6 +485,7 @@ public class OpenPgpService extends RemoteService { return result; } } catch (Exception e) { + Log.d(Constants.TAG, "getKeyImpl", e); Intent result = new Intent(); result.putExtra(OpenPgpApi.RESULT_ERROR, new OpenPgpError(OpenPgpError.GENERIC_ERROR, e.getMessage())); @@ -493,7 +506,6 @@ public class OpenPgpService extends RemoteService { return result; } else { // get key ids based on given user ids - String[] userIds = data.getStringArrayExtra(OpenPgpApi.EXTRA_USER_IDS); Intent result = getKeyIdsFromEmails(data, userIds); return result; -- cgit v1.2.3 From e8b7bbd978c9a832b6ac34a0039cf0fc8feb99b9 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Wed, 13 Aug 2014 12:48:02 +0200 Subject: fix message and uri from encrypt intent --- .../org/sufficientlysecure/keychain/ui/EncryptActivity.java | 12 ++++-------- .../sufficientlysecure/keychain/ui/EncryptFileFragment.java | 10 ---------- 2 files changed, 4 insertions(+), 18 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index b140c5a03..6f4db88e8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -83,8 +83,6 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn // tabs Bundle mAsymmetricFragmentBundle = new Bundle(); Bundle mSymmetricFragmentBundle = new Bundle(); - Bundle mMessageFragmentBundle = new Bundle(); - Bundle mFileFragmentBundle = new Bundle(); int mSwitchToMode = PAGER_MODE_ASYMMETRIC; int mSwitchToContent = PAGER_CONTENT_MESSAGE; @@ -509,10 +507,8 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn mSymmetricFragmentBundle, getString(R.string.label_symmetric)); mViewPagerMode.setCurrentItem(mSwitchToMode); - mTabsAdapterContent.addTab(EncryptMessageFragment.class, - mMessageFragmentBundle, getString(R.string.label_message)); - mTabsAdapterContent.addTab(EncryptFileFragment.class, - mFileFragmentBundle, getString(R.string.label_files)); + mTabsAdapterContent.addTab(EncryptMessageFragment.class, null, getString(R.string.label_message)); + mTabsAdapterContent.addTab(EncryptFileFragment.class, null, getString(R.string.label_files)); mViewPagerContent.setCurrentItem(mSwitchToContent); mUseArmor = Preferences.getPreferences(this).getDefaultAsciiArmor(); @@ -619,11 +615,11 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn */ if (ACTION_ENCRYPT.equals(action) && textData != null) { // encrypt text based on given extra - mMessageFragmentBundle.putString(EncryptMessageFragment.ARG_TEXT, textData); + mMessage = textData; mSwitchToContent = PAGER_CONTENT_MESSAGE; } else if (ACTION_ENCRYPT.equals(action) && uris != null && !uris.isEmpty()) { // encrypt file based on Uri - mFileFragmentBundle.putParcelableArrayList(EncryptFileFragment.ARG_URIS, uris); + mInputUris = uris; mSwitchToContent = PAGER_CONTENT_FILE; } else if (ACTION_ENCRYPT.equals(action)) { Log.e(Constants.TAG, diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java index 8a9e17020..14d3d1c4a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java @@ -111,8 +111,6 @@ public class EncryptFileFragment extends Fragment implements EncryptActivityInte @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - - addInputUris(getArguments().getParcelableArrayList(ARG_URIS)); } private void addInputUri() { @@ -125,14 +123,6 @@ public class EncryptFileFragment extends Fragment implements EncryptActivityInte } } - private void addInputUris(List uris) { - if (uris != null) { - for (Uri uri : uris) { - addInputUri(uri); - } - } - } - private void addInputUri(Uri inputUri) { if (inputUri == null) { return; -- cgit v1.2.3 From f34597a3c06d4ef6a096939237431aef6c2a3f96 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Wed, 13 Aug 2014 13:02:30 +0200 Subject: remove bundle for symmetric/asymmetric fragment as it was useless --- .../keychain/ui/EncryptActivity.java | 18 ++++---------- .../keychain/ui/EncryptAsymmetricFragment.java | 29 ++++++++-------------- 2 files changed, 16 insertions(+), 31 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index 6f4db88e8..33deddd81 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -81,8 +81,6 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn PagerTabStripAdapter mTabsAdapterContent; // tabs - Bundle mAsymmetricFragmentBundle = new Bundle(); - Bundle mSymmetricFragmentBundle = new Bundle(); int mSwitchToMode = PAGER_MODE_ASYMMETRIC; int mSwitchToContent = PAGER_CONTENT_MESSAGE; @@ -91,7 +89,7 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn private static final int PAGER_CONTENT_MESSAGE = 0; private static final int PAGER_CONTENT_FILE = 1; - // model used by message and file fragments + // model used by fragments private long mEncryptionKeyIds[] = null; private String mEncryptionUserIds[] = null; private long mSigningKeyId = Constants.key.none; @@ -501,10 +499,8 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn // Handle intent actions handleActions(getIntent()); - mTabsAdapterMode.addTab(EncryptAsymmetricFragment.class, - mAsymmetricFragmentBundle, getString(R.string.label_asymmetric)); - mTabsAdapterMode.addTab(EncryptSymmetricFragment.class, - mSymmetricFragmentBundle, getString(R.string.label_symmetric)); + mTabsAdapterMode.addTab(EncryptAsymmetricFragment.class, null, getString(R.string.label_asymmetric)); + mTabsAdapterMode.addTab(EncryptSymmetricFragment.class, null, getString(R.string.label_symmetric)); mViewPagerMode.setCurrentItem(mSwitchToMode); mTabsAdapterContent.addTab(EncryptMessageFragment.class, null, getString(R.string.label_message)); @@ -600,14 +596,10 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn String textData = extras.getString(EXTRA_TEXT); - long signatureKeyId = extras.getLong(EXTRA_SIGNATURE_KEY_ID); - long[] encryptionKeyIds = extras.getLongArray(EXTRA_ENCRYPTION_KEY_IDS); + mSigningKeyId = extras.getLong(EXTRA_SIGNATURE_KEY_ID); + mEncryptionKeyIds = extras.getLongArray(EXTRA_ENCRYPTION_KEY_IDS); // preselect keys given by intent - mAsymmetricFragmentBundle.putLongArray(EncryptAsymmetricFragment.ARG_ENCRYPTION_KEY_IDS, - encryptionKeyIds); - mAsymmetricFragmentBundle.putLong(EncryptAsymmetricFragment.ARG_SIGNATURE_KEY_ID, - signatureKeyId); mSwitchToMode = PAGER_MODE_ASYMMETRIC; /** diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java index bc3b140c3..a402b6f68 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java @@ -123,14 +123,10 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - - long signatureKeyId = getArguments().getLong(ARG_SIGNATURE_KEY_ID); - long[] encryptionKeyIds = getArguments().getLongArray(ARG_ENCRYPTION_KEY_IDS); - mProviderHelper = new ProviderHelper(getActivity()); - // preselect keys given by arguments (given by Intent to EncryptActivity) - preselectKeys(signatureKeyId, encryptionKeyIds, mProviderHelper); + // preselect keys given + preselectKeys(); getLoaderManager().initLoader(1, null, new LoaderManager.LoaderCallbacks() { @Override @@ -187,19 +183,15 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi /** * If an Intent gives a signatureMasterKeyId and/or encryptionMasterKeyIds, preselect those! - * - * @param preselectedSignatureKeyId - * @param preselectedEncryptionKeyIds */ - private void preselectKeys(long preselectedSignatureKeyId, long[] preselectedEncryptionKeyIds, - ProviderHelper providerHelper) { + private void preselectKeys() { // TODO all of this works under the assumption that the first suitable subkey is always used! // not sure if we need to distinguish between different subkeys here? - if (preselectedSignatureKeyId != 0) { + long signatureKey = mEncryptInterface.getSignatureKey(); + if (signatureKey != Constants.key.none) { try { - CachedPublicKeyRing keyring = - providerHelper.getCachedPublicKeyRing( - KeyRings.buildUnifiedKeyRingUri(preselectedSignatureKeyId)); + CachedPublicKeyRing keyring = mProviderHelper.getCachedPublicKeyRing( + KeyRings.buildUnifiedKeyRingUri(signatureKey)); if(keyring.hasAnySecret()) { setSignatureKeyId(keyring.getMasterKeyId()); } @@ -208,10 +200,11 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi } } - if (preselectedEncryptionKeyIds != null) { - for (long preselectedId : preselectedEncryptionKeyIds) { + long[] encryptionKeyIds = mEncryptInterface.getEncryptionKeys(); + if (encryptionKeyIds != null) { + for (long preselectedId : encryptionKeyIds) { try { - CachedPublicKeyRing ring = providerHelper.getCachedPublicKeyRing( + CachedPublicKeyRing ring = mProviderHelper.getCachedPublicKeyRing( KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(preselectedId)); mEncryptKeyView.addObject(mEncryptKeyView.new EncryptionKey(ring)); } catch (PgpGeneralException e) { -- cgit v1.2.3 From 38da2af0e89ca05f2a01ed08801dee635784168e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Wed, 13 Aug 2014 16:37:28 +0200 Subject: Better error handling for passphrase cache if key is missing --- .../keychain/pgp/PgpDecryptVerify.java | 4 +- .../keychain/remote/OpenPgpService.java | 16 ++-- .../keychain/service/KeychainIntentService.java | 20 ++-- .../keychain/service/PassphraseCacheService.java | 101 ++++++++++++--------- .../keychain/ui/CertifyKeyActivity.java | 9 +- .../keychain/ui/EditKeyFragment.java | 10 +- .../keychain/ui/EncryptActivity.java | 26 +++--- 7 files changed, 115 insertions(+), 71 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 6fa380357..7d113241b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -46,6 +46,7 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.ProviderHelper; +import org.sufficientlysecure.keychain.service.PassphraseCacheService; import org.sufficientlysecure.keychain.util.InputData; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.ProgressScaler; @@ -163,7 +164,8 @@ public class PgpDecryptVerify { } public interface PassphraseCache { - public String getCachedPassphrase(long masterKeyId); + public String getCachedPassphrase(long masterKeyId) + throws NoSecretKeyException; } public static class InvalidDataException extends Exception { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 50c8fcf3b..1d3d7d02f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -168,8 +168,7 @@ public class OpenPgpService extends RemoteService { } if (passphrase == null) { // get PendingIntent for passphrase input, add it to given params and return to client - Intent passphraseBundle = getPassphraseBundleIntent(data, accSettings.getKeyId()); - return passphraseBundle; + return getPassphraseBundleIntent(data, accSettings.getKeyId()); } // Get Input- and OutputStream from ParcelFileDescriptor @@ -289,8 +288,7 @@ public class OpenPgpService extends RemoteService { } if (passphrase == null) { // get PendingIntent for passphrase input, add it to given params and return to client - Intent passphraseBundle = getPassphraseBundleIntent(data, accSettings.getKeyId()); - return passphraseBundle; + return getPassphraseBundleIntent(data, accSettings.getKeyId()); } // sign and encrypt @@ -358,9 +356,13 @@ public class OpenPgpService extends RemoteService { new ProviderHelper(this), new PgpDecryptVerify.PassphraseCache() { @Override - public String getCachedPassphrase(long masterKeyId) { - return PassphraseCacheService.getCachedPassphrase( - OpenPgpService.this, masterKeyId); + public String getCachedPassphrase(long masterKeyId) throws PgpDecryptVerify.NoSecretKeyException { + try { + return PassphraseCacheService.getCachedPassphrase( + OpenPgpService.this, masterKeyId); + } catch (PassphraseCacheService.KeyNotFoundException e) { + throw new PgpDecryptVerify.NoSecretKeyException(); + } } }, inputData, os diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 54895973b..443f66d58 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -307,9 +307,13 @@ public class KeychainIntentService extends IntentService new ProviderHelper(this), new PgpDecryptVerify.PassphraseCache() { @Override - public String getCachedPassphrase(long masterKeyId) { - return PassphraseCacheService.getCachedPassphrase( - KeychainIntentService.this, masterKeyId); + public String getCachedPassphrase(long masterKeyId) throws PgpDecryptVerify.NoSecretKeyException { + try { + return PassphraseCacheService.getCachedPassphrase( + KeychainIntentService.this, masterKeyId); + } catch (PassphraseCacheService.KeyNotFoundException e) { + throw new PgpDecryptVerify.NoSecretKeyException(); + } } }, inputData, outStream @@ -351,9 +355,13 @@ public class KeychainIntentService extends IntentService new ProviderHelper(this), new PgpDecryptVerify.PassphraseCache() { @Override - public String getCachedPassphrase(long masterKeyId) { - return PassphraseCacheService.getCachedPassphrase( - KeychainIntentService.this, masterKeyId); + public String getCachedPassphrase(long masterKeyId) throws PgpDecryptVerify.NoSecretKeyException { + try { + return PassphraseCacheService.getCachedPassphrase( + KeychainIntentService.this, masterKeyId); + } catch (PassphraseCacheService.KeyNotFoundException e) { + throw new PgpDecryptVerify.NoSecretKeyException(); + } } }, inputData, null diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java index e95e737d5..ae1b026a5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java @@ -76,12 +76,24 @@ public class PassphraseCacheService extends Service { private static final int NOTIFICATION_ID = 1; + private static final int MSG_PASSPHRASE_CACHE_GET_OKAY = 1; + private static final int MSG_PASSPHRASE_CACHE_GET_KEY_NO_FOUND = 2; + private BroadcastReceiver mIntentReceiver; private LongSparseArray mPassphraseCache = new LongSparseArray(); Context mContext; + public static class KeyNotFoundException extends Exception { + public KeyNotFoundException() { + } + + public KeyNotFoundException(String name) { + super(name); + } + } + /** * This caches a new passphrase in memory by sending a new command to the service. An android * service is only run once. Thus, when the service is already started, new commands just add @@ -114,24 +126,23 @@ public class PassphraseCacheService extends Service { * @param keyId * @return passphrase or null (if no passphrase is cached for this keyId) */ - public static String getCachedPassphrase(Context context, long keyId) { + public static String getCachedPassphrase(Context context, long keyId) throws KeyNotFoundException { Log.d(Constants.TAG, "PassphraseCacheService.getCachedPassphrase() get masterKeyId for " + keyId); Intent intent = new Intent(context, PassphraseCacheService.class); intent.setAction(ACTION_PASSPHRASE_CACHE_GET); final Object mutex = new Object(); - final Bundle returnBundle = new Bundle(); + final Message returnMessage = Message.obtain(); HandlerThread handlerThread = new HandlerThread("getPassphraseThread"); handlerThread.start(); Handler returnHandler = new Handler(handlerThread.getLooper()) { @Override public void handleMessage(Message message) { - if (message.obj != null) { - String passphrase = ((Bundle) message.obj).getString(EXTRA_PASSPHRASE); - returnBundle.putString(EXTRA_PASSPHRASE, passphrase); - } + // copy over result to handle after mutex.wait + returnMessage.what = message.what; + returnMessage.copyFrom(message); synchronized (mutex) { mutex.notify(); } @@ -155,10 +166,13 @@ public class PassphraseCacheService extends Service { } } - if (returnBundle.containsKey(EXTRA_PASSPHRASE)) { - return returnBundle.getString(EXTRA_PASSPHRASE); - } else { - return null; + switch (returnMessage.what) { + case MSG_PASSPHRASE_CACHE_GET_OKAY: + return returnMessage.getData().getString(EXTRA_PASSPHRASE); + case MSG_PASSPHRASE_CACHE_GET_KEY_NO_FOUND: + throw new KeyNotFoundException(); + default: + throw new KeyNotFoundException("should not happen!"); } } @@ -168,7 +182,7 @@ public class PassphraseCacheService extends Service { * @param keyId * @return */ - private String getCachedPassphraseImpl(long keyId) { + private String getCachedPassphraseImpl(long keyId) throws ProviderHelper.NotFoundException { // passphrase for symmetric encryption? if (keyId == Constants.key.symmetric) { Log.d(Constants.TAG, "PassphraseCacheService.getCachedPassphraseImpl() for symmetric encryption"); @@ -181,39 +195,33 @@ public class PassphraseCacheService extends Service { } // try to get master key id which is used as an identifier for cached passphrases - try { - Log.d(Constants.TAG, "PassphraseCacheService.getCachedPassphraseImpl() for masterKeyId " + keyId); - CanonicalizedSecretKeyRing key = new ProviderHelper(this).getCanonicalizedSecretKeyRing( - KeychainContract.KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(keyId)); - // no passphrase needed? just add empty string and return it, then - if (!key.hasPassphrase()) { - Log.d(Constants.TAG, "Key has no passphrase! Caches and returns empty passphrase!"); - - try { - addCachedPassphrase(this, keyId, "", key.getPrimaryUserIdWithFallback()); - } catch (PgpGeneralException e) { - Log.d(Constants.TAG, "PgpGeneralException occured"); - } - return ""; - } + Log.d(Constants.TAG, "PassphraseCacheService.getCachedPassphraseImpl() for masterKeyId " + keyId); + CanonicalizedSecretKeyRing key = new ProviderHelper(this).getCanonicalizedSecretKeyRing( + KeychainContract.KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(keyId)); + // no passphrase needed? just add empty string and return it, then + if (!key.hasPassphrase()) { + Log.d(Constants.TAG, "Key has no passphrase! Caches and returns empty passphrase!"); - // get cached passphrase - CachedPassphrase cachedPassphrase = mPassphraseCache.get(keyId); - if (cachedPassphrase == null) { - Log.d(Constants.TAG, "PassphraseCacheService: Passphrase not (yet) cached, returning null"); - // not really an error, just means the passphrase is not cached but not empty either - return null; + try { + addCachedPassphrase(this, keyId, "", key.getPrimaryUserIdWithFallback()); + } catch (PgpGeneralException e) { + Log.d(Constants.TAG, "PgpGeneralException occured"); } + return ""; + } - // set it again to reset the cache life cycle - Log.d(Constants.TAG, "PassphraseCacheService: Cache passphrase again when getting it!"); - addCachedPassphrase(this, keyId, cachedPassphrase.getPassphrase(), cachedPassphrase.getPrimaryUserID()); - return cachedPassphrase.getPassphrase(); - - } catch (ProviderHelper.NotFoundException e) { - Log.e(Constants.TAG, "PassphraseCacheService: Passphrase for unknown key was requested!"); + // get cached passphrase + CachedPassphrase cachedPassphrase = mPassphraseCache.get(keyId); + if (cachedPassphrase == null) { + Log.d(Constants.TAG, "PassphraseCacheService: Passphrase not (yet) cached, returning null"); + // not really an error, just means the passphrase is not cached but not empty either return null; } + + // set it again to reset the cache life cycle + Log.d(Constants.TAG, "PassphraseCacheService: Cache passphrase again when getting it!"); + addCachedPassphrase(this, keyId, cachedPassphrase.getPassphrase(), cachedPassphrase.getPrimaryUserID()); + return cachedPassphrase.getPassphrase(); } /** @@ -295,12 +303,19 @@ public class PassphraseCacheService extends Service { long keyId = intent.getLongExtra(EXTRA_KEY_ID, -1); Messenger messenger = intent.getParcelableExtra(EXTRA_MESSENGER); - String passphrase = getCachedPassphraseImpl(keyId); Message msg = Message.obtain(); - Bundle bundle = new Bundle(); - bundle.putString(EXTRA_PASSPHRASE, passphrase); - msg.obj = bundle; + try { + String passphrase = getCachedPassphraseImpl(keyId); + msg.what = MSG_PASSPHRASE_CACHE_GET_OKAY; + Bundle bundle = new Bundle(); + bundle.putString(EXTRA_PASSPHRASE, passphrase); + msg.setData(bundle); + } catch (ProviderHelper.NotFoundException e) { + Log.e(Constants.TAG, "PassphraseCacheService: Passphrase for unknown key was requested!"); + msg.what = MSG_PASSPHRASE_CACHE_GET_KEY_NO_FOUND; + } + try { messenger.send(msg); } catch (RemoteException e) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java index 467e0c14a..c1986825c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java @@ -231,7 +231,14 @@ public class CertifyKeyActivity extends ActionBarActivity implements */ private void initiateCertifying() { // get the user's passphrase for this key (if required) - String passphrase = PassphraseCacheService.getCachedPassphrase(this, mMasterKeyId); + String passphrase = null; + try { + passphrase = PassphraseCacheService.getCachedPassphrase(this, mMasterKeyId); + } catch (PassphraseCacheService.KeyNotFoundException e) { + Log.e(Constants.TAG, "Key not found!", e); + finish(); + return; + } if (passphrase == null) { PassphraseDialogFragment.show(this, mMasterKeyId, new Handler() { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index ae294547f..03074bb6a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -475,8 +475,14 @@ public class EditKeyFragment extends LoaderFragment implements } private void cachePassphraseForEdit() { - mCurrentPassphrase = PassphraseCacheService.getCachedPassphrase(getActivity(), - mSaveKeyringParcel.mMasterKeyId); + try { + mCurrentPassphrase = PassphraseCacheService.getCachedPassphrase(getActivity(), + mSaveKeyringParcel.mMasterKeyId); + } catch (PassphraseCacheService.KeyNotFoundException e) { + Log.e(Constants.TAG, "Key not found!", e); + getActivity().finish(); + return; + } if (mCurrentPassphrase == null) { PassphraseDialogFragment.show(getActivity(), mSaveKeyringParcel.mMasterKeyId, new Handler() { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index 33deddd81..7e08f6b7c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -450,20 +450,24 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn return false; } - if (mSigningKeyId != 0 && PassphraseCacheService.getCachedPassphrase(this, mSigningKeyId) == null) { - PassphraseDialogFragment.show(this, mSigningKeyId, - new Handler() { - @Override - public void handleMessage(Message message) { - if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) { - // restart - startEncrypt(); + try { + if (mSigningKeyId != 0 && PassphraseCacheService.getCachedPassphrase(this, mSigningKeyId) == null) { + PassphraseDialogFragment.show(this, mSigningKeyId, + new Handler() { + @Override + public void handleMessage(Message message) { + if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) { + // restart + startEncrypt(); + } } } - } - ); + ); - return false; + return false; + } + } catch (PassphraseCacheService.KeyNotFoundException e) { + Log.e(Constants.TAG, "Key not found!", e); } } return true; -- cgit v1.2.3 From db12f782f284e56dd3872ef4a16a49e037c6c078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Wed, 13 Aug 2014 18:48:42 +0200 Subject: API: User interaction when account keys are deleted --- .../keychain/provider/ProviderHelper.java | 2 +- .../keychain/remote/OpenPgpService.java | 8 ++- .../remote/ui/AccountSettingsActivity.java | 2 +- .../keychain/remote/ui/RemoteServiceActivity.java | 80 ++++++++++++++++------ OpenKeychain/src/main/res/raw/help_changelog.html | 4 +- OpenKeychain/src/main/res/values/strings.xml | 1 + 6 files changed, 70 insertions(+), 27 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java index 6111a4ef4..99b622f69 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java @@ -925,7 +925,7 @@ public class ProviderHelper { mContentResolver.insert(uri, contentValueForApiAccounts(accSettings)); } - public void updateApiAccount(AccountSettings accSettings, Uri uri) { + public void updateApiAccount(Uri uri, AccountSettings accSettings) { if (mContentResolver.update(uri, contentValueForApiAccounts(accSettings), null, null) <= 0) { throw new RuntimeException(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 1d3d7d02f..2f07f9785 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -164,7 +164,13 @@ public class OpenPgpService extends RemoteService { if (data.hasExtra(OpenPgpApi.EXTRA_PASSPHRASE)) { passphrase = data.getStringExtra(OpenPgpApi.EXTRA_PASSPHRASE); } else { - passphrase = PassphraseCacheService.getCachedPassphrase(getContext(), accSettings.getKeyId()); + try { + passphrase = PassphraseCacheService.getCachedPassphrase(getContext(), accSettings.getKeyId()); + } catch (PassphraseCacheService.KeyNotFoundException e) { + // secret key that is set for this account is deleted? + // show account config again! + return getCreateAccountIntent(data, data.getStringExtra(OpenPgpApi.EXTRA_ACCOUNT_NAME)); + } } if (passphrase == null) { // get PendingIntent for passphrase input, add it to given params and return to client diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java index 8f1f46c04..666252353 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsActivity.java @@ -102,7 +102,7 @@ public class AccountSettingsActivity extends ActionBarActivity { } private void save() { - new ProviderHelper(this).updateApiAccount(mAccountSettingsFragment.getAccSettings(), mAccountUri); + new ProviderHelper(this).updateApiAccount(mAccountUri, mAccountSettingsFragment.getAccSettings()); finish(); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java index d0b958844..48c76d561 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java @@ -18,11 +18,13 @@ package org.sufficientlysecure.keychain.remote.ui; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.ActionBarActivity; import android.view.View; +import android.widget.TextView; import org.openintents.openpgp.util.OpenPgpApi; import org.sufficientlysecure.htmltextview.HtmlTextView; @@ -37,6 +39,7 @@ import org.sufficientlysecure.keychain.ui.SelectPublicKeyFragment; import org.sufficientlysecure.keychain.ui.dialog.PassphraseDialogFragment; import org.sufficientlysecure.keychain.util.Log; +import java.security.Provider; import java.util.ArrayList; public class RemoteServiceActivity extends ActionBarActivity { @@ -76,10 +79,17 @@ public class RemoteServiceActivity extends ActionBarActivity { // select pub keys view private SelectPublicKeyFragment mSelectFragment; + private ProviderHelper mProviderHelper; + + // for ACTION_CREATE_ACCOUNT + boolean mUpdateExistingAccount; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mProviderHelper = new ProviderHelper(this); + handleActions(getIntent(), savedInstanceState); } @@ -94,6 +104,14 @@ public class RemoteServiceActivity extends ActionBarActivity { final byte[] packageSignature = extras.getByteArray(EXTRA_PACKAGE_SIGNATURE); Log.d(Constants.TAG, "ACTION_REGISTER packageName: " + packageName); + setContentView(R.layout.api_remote_register_app); + + mAppSettingsFragment = (AppSettingsFragment) getSupportFragmentManager().findFragmentById( + R.id.api_app_settings_fragment); + + AppSettings settings = new AppSettings(packageName, packageSignature); + mAppSettingsFragment.setAppSettings(settings); + // Inflate a "Done"/"Cancel" custom action bar view ActionBarHelper.setTwoButtonView(getSupportActionBar(), R.string.api_register_allow, R.drawable.ic_action_done, @@ -102,8 +120,7 @@ public class RemoteServiceActivity extends ActionBarActivity { public void onClick(View v) { // Allow - new ProviderHelper(RemoteServiceActivity.this).insertApiApp( - mAppSettingsFragment.getAppSettings()); + mProviderHelper.insertApiApp(mAppSettingsFragment.getAppSettings()); // give data through for new service call Intent resultData = extras.getParcelable(EXTRA_DATA); @@ -120,18 +137,34 @@ public class RemoteServiceActivity extends ActionBarActivity { } } ); - - setContentView(R.layout.api_remote_register_app); - - mAppSettingsFragment = (AppSettingsFragment) getSupportFragmentManager().findFragmentById( - R.id.api_app_settings_fragment); - - AppSettings settings = new AppSettings(packageName, packageSignature); - mAppSettingsFragment.setAppSettings(settings); } else if (ACTION_CREATE_ACCOUNT.equals(action)) { final String packageName = extras.getString(EXTRA_PACKAGE_NAME); final String accName = extras.getString(EXTRA_ACC_NAME); + setContentView(R.layout.api_remote_create_account); + + mAccSettingsFragment = (AccountSettingsFragment) getSupportFragmentManager().findFragmentById( + R.id.api_account_settings_fragment); + + TextView text = (TextView) findViewById(R.id.api_remote_create_account_text); + + // update existing? + Uri uri = KeychainContract.ApiAccounts.buildByPackageAndAccountUri(packageName, accName); + AccountSettings settings = mProviderHelper.getApiAccountSettings(uri); + if (settings == null) { + // create new account + settings = new AccountSettings(accName); + mUpdateExistingAccount = false; + + text.setText(R.string.api_create_account_text); + } else { + // update existing account + mUpdateExistingAccount = true; + + text.setText(R.string.api_update_account_text); + } + mAccSettingsFragment.setAccSettings(settings); + // Inflate a "Done"/"Cancel" custom action bar view ActionBarHelper.setTwoButtonView(getSupportActionBar(), R.string.api_settings_save, R.drawable.ic_action_done, @@ -145,9 +178,17 @@ public class RemoteServiceActivity extends ActionBarActivity { mAccSettingsFragment.setErrorOnSelectKeyFragment( getString(R.string.api_register_error_select_key)); } else { - new ProviderHelper(RemoteServiceActivity.this).insertApiAccount( - KeychainContract.ApiAccounts.buildBaseUri(packageName), - mAccSettingsFragment.getAccSettings()); + if (mUpdateExistingAccount) { + Uri baseUri = KeychainContract.ApiAccounts.buildBaseUri(packageName); + Uri accountUri = baseUri.buildUpon().appendEncodedPath(accName).build(); + mProviderHelper.updateApiAccount( + accountUri, + mAccSettingsFragment.getAccSettings()); + } else { + mProviderHelper.insertApiAccount( + KeychainContract.ApiAccounts.buildBaseUri(packageName), + mAccSettingsFragment.getAccSettings()); + } // give data through for new service call Intent resultData = extras.getParcelable(EXTRA_DATA); @@ -166,13 +207,6 @@ public class RemoteServiceActivity extends ActionBarActivity { } ); - setContentView(R.layout.api_remote_create_account); - - mAccSettingsFragment = (AccountSettingsFragment) getSupportFragmentManager().findFragmentById( - R.id.api_account_settings_fragment); - - AccountSettings settings = new AccountSettings(accName); - mAccSettingsFragment.setAccSettings(settings); } else if (ACTION_CACHE_PASSPHRASE.equals(action)) { long secretKeyId = extras.getLong(EXTRA_SECRET_KEY_ID); final Intent resultData = extras.getParcelable(EXTRA_DATA); @@ -190,7 +224,8 @@ public class RemoteServiceActivity extends ActionBarActivity { RemoteServiceActivity.this.finish(); } - }); + } + ); } else if (ACTION_SELECT_PUB_KEYS.equals(action)) { long[] selectedMasterKeyIds = intent.getLongArrayExtra(EXTRA_SELECTED_MASTER_KEY_IDS); @@ -286,7 +321,8 @@ public class RemoteServiceActivity extends ActionBarActivity { RemoteServiceActivity.this.setResult(RESULT_CANCELED); RemoteServiceActivity.this.finish(); } - }); + } + ); setContentView(R.layout.api_remote_error_message); diff --git a/OpenKeychain/src/main/res/raw/help_changelog.html b/OpenKeychain/src/main/res/raw/help_changelog.html index f2455d243..5f1798896 100644 --- a/OpenKeychain/src/main/res/raw/help_changelog.html +++ b/OpenKeychain/src/main/res/raw/help_changelog.html @@ -11,7 +11,7 @@ And don't add newlines before or after p tags because of transifex -->
                        • Key edit: awesome new design, key revocation
                        • Key import: awesome new design, secure keyserver connections via hkps, keyserver resolving via DNS SRV records
                        • New first time screen
                        • -
                        • New create key screen: autocompletion of name and email based on your personal Android accounts
                        • +
                        • New key creation screen: autocompletion of name and email based on your personal Android accounts
                        • File encryption: awesome new design, support for encrypting multiple files
                        • New icons to show status of key (by Brennan Novak)
                        • Important bug fix: Importing of large key collections from a file is now possible
                        • @@ -45,7 +45,7 @@ And don't add newlines before or after p tags because of transifex -->

                          2.5

                          • Fix decryption of symmetric pgp messages/files
                          • -
                          • Refactored edit key screen (thanks to Ash Hughes)
                          • +
                          • Refactored key edit screen (thanks to Ash Hughes)
                          • New modern design for encrypt/decrypt screens
                          • OpenPGP API version 3 (multiple api accounts, internal fixes, key lookup)
                          diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 1697391e6..9d84d8840 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -391,6 +391,7 @@ Accounts No accounts attached to this app. The app requests the creation of a new account. Please select one of your existing keys or create a new one.\nApps are restricted to the usage of keys you select here! + The key saved for this account has been deleted. Please select a different one!\nApps are restricted to the usage of keys you select here! The displayed app wants to encrypt/decrypt messages and sign them in your name.\nAllow access?\n\nWARNING: If you do not know why this screen appeared, disallow access! You can revoke access later using the \'Apps\' screen. Allow access Disallow access -- cgit v1.2.3 From c7d5b09286c2168369a5d7b5f779005648229a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Wed, 13 Aug 2014 21:23:01 +0200 Subject: Move certify action down into actions section --- .../src/main/res/layout/view_key_main_fragment.xml | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/res/layout/view_key_main_fragment.xml b/OpenKeychain/src/main/res/layout/view_key_main_fragment.xml index 7a54fab05..edee7ebe8 100644 --- a/OpenKeychain/src/main/res/layout/view_key_main_fragment.xml +++ b/OpenKeychain/src/main/res/layout/view_key_main_fragment.xml @@ -28,11 +28,13 @@ android:layout_marginBottom="4dp" android:layout_weight="1" /> - + - + Date: Wed, 13 Aug 2014 21:49:04 +0200 Subject: Add user info dialog --- .../keychain/ui/ViewKeyMainFragment.java | 28 +++++++ .../keychain/ui/adapter/UserIdsAdapter.java | 25 ++---- .../ui/dialog/UserIdInfoDialogFragment.java | 95 ++++++++++++++++++++++ OpenKeychain/src/main/res/values/strings.xml | 8 ++ 4 files changed, 136 insertions(+), 20 deletions(-) create mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/UserIdInfoDialogFragment.java (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java index 370a7312f..08243f06b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java @@ -22,17 +22,22 @@ import android.database.Cursor; import android.graphics.PorterDuff; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.os.Messenger; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround; import org.sufficientlysecure.keychain.pgp.PgpKeyHelper; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; import org.sufficientlysecure.keychain.provider.KeychainContract; @@ -41,6 +46,8 @@ import org.sufficientlysecure.keychain.provider.KeychainContract.UserIds; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter; +import org.sufficientlysecure.keychain.ui.dialog.EditSubkeyDialogFragment; +import org.sufficientlysecure.keychain.ui.dialog.UserIdInfoDialogFragment; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Notify; @@ -88,9 +95,30 @@ public class ViewKeyMainFragment extends LoaderFragment implements PorterDuff.Mode.SRC_IN); mActionUpdate = view.findViewById(R.id.view_key_action_update); + mUserIds.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + showUserIdInfo(position); + } + }); + return root; } + private void showUserIdInfo(final int position) { + final boolean isRevoked = mUserIdsAdapter.getIsRevoked(position); + final int isVerified = mUserIdsAdapter.getIsVerified(position); + + DialogFragmentWorkaround.INTERFACE.runnableRunDelayed(new Runnable() { + public void run() { + UserIdInfoDialogFragment dialogFragment = + UserIdInfoDialogFragment.newInstance(isRevoked, isVerified); + + dialogFragment.show(getActivity().getSupportFragmentManager(), "userIdInfoDialog"); + } + }); + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java index 9bf47a387..717dcf818 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAdapter.java @@ -257,6 +257,11 @@ public class UserIdsAdapter extends CursorAdapter implements AdapterView.OnItemC return mCursor.getInt(INDEX_IS_REVOKED) > 0; } + public int getIsVerified(int position) { + mCursor.moveToPosition(position); + return mCursor.getInt(INDEX_VERIFIED); + } + public boolean getIsRevokedPending(int position) { mCursor.moveToPosition(position); String userId = mCursor.getString(INDEX_USER_ID); @@ -280,24 +285,4 @@ public class UserIdsAdapter extends CursorAdapter implements AdapterView.OnItemC return view; } - // Disable selection of items for lists without checkboxes, http://stackoverflow.com/a/4075045 - @Override - public boolean areAllItemsEnabled() { - if (mCheckStates == null && mSaveKeyringParcel == null) { - return false; - } else { - return super.areAllItemsEnabled(); - } - } - - // Disable selection of items for lists without checkboxes, http://stackoverflow.com/a/4075045 - @Override - public boolean isEnabled(int position) { - if (mCheckStates == null && mSaveKeyringParcel == null) { - return false; - } else { - return super.isEnabled(position); - } - } - } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/UserIdInfoDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/UserIdInfoDialogFragment.java new file mode 100644 index 000000000..968b2429b --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/UserIdInfoDialogFragment.java @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2014 Dominik Schürmann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package org.sufficientlysecure.keychain.ui.dialog; + +import android.app.Activity; +import android.app.Dialog; +import android.content.DialogInterface; +import android.os.Bundle; +import android.support.v4.app.DialogFragment; + +import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.provider.KeychainContract; + +public class UserIdInfoDialogFragment extends DialogFragment { + private static final String ARG_IS_REVOKED = "is_revoked"; + private static final String ARG_IS_VERIFIED = "is_verified"; + + /** + * Creates new instance of this dialog fragment + */ + public static UserIdInfoDialogFragment newInstance(boolean isRevoked, int isVerified) { + UserIdInfoDialogFragment frag = new UserIdInfoDialogFragment(); + Bundle args = new Bundle(); + args.putBoolean(ARG_IS_REVOKED, isRevoked); + args.putInt(ARG_IS_VERIFIED, isVerified); + + frag.setArguments(args); + + return frag; + } + + /** + * Creates dialog + */ + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + final Activity activity = getActivity(); + + int isVerified = getArguments().getInt(ARG_IS_VERIFIED); + boolean isRevoked = getArguments().getBoolean(ARG_IS_REVOKED); + + CustomAlertDialogBuilder alert = new CustomAlertDialogBuilder(activity); + + String title; + String message; + if (isRevoked) { + title = getString(R.string.user_id_info_revoked_title); + message = getString(R.string.user_id_info_revoked_text); + } else { + switch (isVerified) { + case KeychainContract.Certs.VERIFIED_SECRET: + title = getString(R.string.user_id_info_verified_title); + message = getString(R.string.user_id_info_verified_text); + break; + case KeychainContract.Certs.VERIFIED_SELF: + title = getString(R.string.user_id_info_not_verified_title); + message = getString(R.string.user_id_info_not_verified_text); + break; + default: + title = getString(R.string.user_id_info_invalid_title); + message = getString(R.string.user_id_info_invalid_text); + break; + } + } + + alert.setTitle(title); + alert.setMessage(message); + + alert.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, int id) { + dismiss(); + } + }); + + return alert.show(); + } + +} diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 9d84d8840..352ca951c 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -429,6 +429,14 @@ Share Subkeys Certificates + Revoked + This identity has been revoked by the key owner. It is no longer valid. + Verified + This identity has been verified. + Not verified + This identity has not been verified yet. You can not be sure if the identity really corresponds to a specific person. + Invalid + Something is wrong with this identity! Change Passphrase -- cgit v1.2.3 From b8f7dd5676db460c722276d4c98ca82e9d484562 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Thu, 14 Aug 2014 11:21:59 +0200 Subject: Handle keys without expiry date right Fixes #765 --- .../org/sufficientlysecure/keychain/provider/KeychainProvider.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java index 2b686b8ff..c914cb5b7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java @@ -272,8 +272,8 @@ public class KeychainProvider extends ContentProvider { projectionMap.put(KeyRings.HAS_SIGN, "kS." + Keys.KEY_ID + " AS " + KeyRings.HAS_SIGN); projectionMap.put(KeyRings.IS_EXPIRED, - "(" + Tables.KEYS + "." + Keys.EXPIRY + " < " + new Date().getTime() / 1000 + ") AS " - + KeyRings.IS_EXPIRED); + "(" + Tables.KEYS + "." + Keys.EXPIRY + " IS NOT NULL AND " + Tables.KEYS + "." + Keys.EXPIRY + + " < " + new Date().getTime() / 1000 + ") AS " + KeyRings.IS_EXPIRED); qb.setProjectionMap(projectionMap); // Need this as list so we can search in it -- cgit v1.2.3 From d0987edab96573b210ce14432432248f609b14f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 14 Aug 2014 11:44:47 +0200 Subject: Dont write version header by default --- .../org/sufficientlysecure/keychain/Constants.java | 2 +- .../keychain/helper/Preferences.java | 8 ++++---- .../org/sufficientlysecure/keychain/pgp/PgpHelper.java | 8 ++++---- .../keychain/pgp/PgpImportExport.java | 10 ++++++++-- .../keychain/pgp/PgpSignEncrypt.java | 14 ++++++++++---- .../keychain/pgp/UncachedKeyRing.java | 4 +++- .../keychain/provider/ProviderHelper.java | 5 ++++- .../keychain/remote/OpenPgpService.java | 4 ++-- .../keychain/service/KeychainIntentService.java | 2 +- .../keychain/ui/PreferencesActivity.java | 18 +++++++++--------- OpenKeychain/src/main/res/values-de/strings.xml | 4 ++-- OpenKeychain/src/main/res/values-es/strings.xml | 4 ++-- OpenKeychain/src/main/res/values-fr/strings.xml | 4 ++-- OpenKeychain/src/main/res/values-it/strings.xml | 4 ++-- OpenKeychain/src/main/res/values-ja/strings.xml | 4 ++-- OpenKeychain/src/main/res/values/strings.xml | 4 ++-- OpenKeychain/src/main/res/xml/adv_preferences.xml | 6 +++--- 17 files changed, 61 insertions(+), 44 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java index 05676c5d0..f240b5cc2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java @@ -67,7 +67,7 @@ public final class Constants { public static final String FORCE_V3_SIGNATURES = "forceV3Signatures"; public static final String KEY_SERVERS = "keyServers"; public static final String KEY_SERVERS_DEFAULT_VERSION = "keyServersDefaultVersion"; - public static final String CONCEAL_PGP_APPLICATION = "concealPgpApplication"; + public static final String WRITE_VERSION_HEADER = "writeVersionHeader"; public static final String FIRST_TIME = "firstTime"; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/Preferences.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/Preferences.java index 00f6b6715..a0bac80aa 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/Preferences.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/Preferences.java @@ -205,13 +205,13 @@ public class Preferences { } } - public void setConcealPgpApplication(boolean conceal) { + public void setWriteVersionHeader(boolean conceal) { SharedPreferences.Editor editor = mSharedPreferences.edit(); - editor.putBoolean(Constants.Pref.CONCEAL_PGP_APPLICATION, conceal); + editor.putBoolean(Constants.Pref.WRITE_VERSION_HEADER, conceal); editor.commit(); } - public boolean getConcealPgpApplication() { - return mSharedPreferences.getBoolean(Constants.Pref.CONCEAL_PGP_APPLICATION, false); + public boolean getWriteVersionHeader() { + return mSharedPreferences.getBoolean(Constants.Pref.WRITE_VERSION_HEADER, false); } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpHelper.java index 0ceefc4d9..1cf027721 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpHelper.java @@ -60,11 +60,11 @@ public class PgpHelper { } } - public static String getFullVersion(Context context) { - if(Preferences.getPreferences(context).getConcealPgpApplication()){ - return ""; - } else { + public static String getVersionForHeader(Context context) { + if(Preferences.getPreferences(context).getWriteVersionHeader()){ return "OpenKeychain v" + getVersion(context); + } else { + return null; } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java index 846b00ef2..f14eacda2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java @@ -230,7 +230,10 @@ public class PgpImportExport { progress++; // Create an output stream ArmoredOutputStream arOutStream = new ArmoredOutputStream(outStream); - arOutStream.setHeader("Version", PgpHelper.getFullVersion(mContext)); + String version = PgpHelper.getVersionForHeader(mContext); + if (version != null) { + arOutStream.setHeader("Version", version); + } updateProgress(progress * 100 / masterKeyIdsSize, 100); @@ -258,7 +261,10 @@ public class PgpImportExport { progress++; // Create an output stream ArmoredOutputStream arOutStream = new ArmoredOutputStream(outStream); - arOutStream.setHeader("Version", PgpHelper.getFullVersion(mContext)); + String version = PgpHelper.getVersionForHeader(mContext); + if (version != null) { + arOutStream.setHeader("Version", version); + } updateProgress(progress * 100 / masterKeyIdsSize, 100); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java index 4973f64bb..b0e546662 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java @@ -109,11 +109,11 @@ public class PgpSignEncrypt { public static class Builder { // mandatory parameter private ProviderHelper mProviderHelper; - private String mVersionHeader; private InputData mData; private OutputStream mOutStream; // optional + private String mVersionHeader = null; private Progressable mProgressable = null; private boolean mEnableAsciiArmorOutput = false; private int mCompressionId = CompressionAlgorithmTags.UNCOMPRESSED; @@ -128,13 +128,17 @@ public class PgpSignEncrypt { private boolean mCleartextInput = false; private String mOriginalFilename = ""; - public Builder(ProviderHelper providerHelper, String versionHeader, InputData data, OutputStream outStream) { + public Builder(ProviderHelper providerHelper, InputData data, OutputStream outStream) { mProviderHelper = providerHelper; - mVersionHeader = versionHeader; mData = data; mOutStream = outStream; } + public Builder setVersionHeader(String versionHeader) { + mVersionHeader = versionHeader; + return this; + } + public Builder setProgressable(Progressable progressable) { mProgressable = progressable; return this; @@ -271,7 +275,9 @@ public class PgpSignEncrypt { OutputStream out; if (mEnableAsciiArmorOutput) { armorOut = new ArmoredOutputStream(mOutStream); - armorOut.setHeader("Version", mVersionHeader); + if (mVersionHeader != null) { + armorOut.setHeader("Version", mVersionHeader); + } out = armorOut; } else { out = mOutStream; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index 18ddaa0ec..73a51942d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -204,7 +204,9 @@ public class UncachedKeyRing { public void encodeArmored(OutputStream out, String version) throws IOException { ArmoredOutputStream aos = new ArmoredOutputStream(out); - aos.setHeader("Version", version); + if (version != null) { + aos.setHeader("Version", version); + } aos.write(mRing.getEncoded()); aos.close(); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java index 99b622f69..a13bb9c98 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java @@ -862,7 +862,10 @@ public class ProviderHelper { UncachedKeyRing keyRing = UncachedKeyRing.decodeFromData(data); ByteArrayOutputStream bos = new ByteArrayOutputStream(); - keyRing.encodeArmored(bos, PgpHelper.getFullVersion(mContext)); + String version = PgpHelper.getVersionForHeader(mContext); + if (version != null) { + keyRing.encodeArmored(bos, version); + } String armoredKey = bos.toString("UTF-8"); Log.d(Constants.TAG, "armoredKey:" + armoredKey); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 2f07f9785..3c2f7ebda 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -187,9 +187,9 @@ public class OpenPgpService extends RemoteService { // sign-only PgpSignEncrypt.Builder builder = new PgpSignEncrypt.Builder( new ProviderHelper(getContext()), - PgpHelper.getFullVersion(getContext()), inputData, os); builder.setEnableAsciiArmorOutput(asciiArmor) + .setVersionHeader(PgpHelper.getVersionForHeader(this)) .setSignatureHashAlgorithm(accSettings.getHashAlgorithm()) .setSignatureForceV3(false) .setSignatureMasterKeyId(accSettings.getKeyId()) @@ -276,9 +276,9 @@ public class OpenPgpService extends RemoteService { PgpSignEncrypt.Builder builder = new PgpSignEncrypt.Builder( new ProviderHelper(getContext()), - PgpHelper.getFullVersion(getContext()), inputData, os); builder.setEnableAsciiArmorOutput(asciiArmor) + .setVersionHeader(PgpHelper.getVersionForHeader(this)) .setCompressionId(accSettings.getCompression()) .setSymmetricEncryptionAlgorithm(accSettings.getEncryptionAlgorithm()) .setEncryptionMasterKeyIds(keyIds) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 443f66d58..d1d848066 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -249,11 +249,11 @@ public class KeychainIntentService extends IntentService PgpSignEncrypt.Builder builder = new PgpSignEncrypt.Builder( new ProviderHelper(this), - PgpHelper.getFullVersion(this), inputData, outStream); builder.setProgressable(this); builder.setEnableAsciiArmorOutput(useAsciiArmor) + .setVersionHeader(PgpHelper.getVersionForHeader(this)) .setCompressionId(compressionId) .setSymmetricEncryptionAlgorithm( Preferences.getPreferences(this).getDefaultEncryptionAlgorithm()) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesActivity.java index e0261730d..5bef6cc9f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesActivity.java @@ -122,8 +122,8 @@ public class PreferencesActivity extends PreferenceActivity { initializeForceV3Signatures( (CheckBoxPreference) findPreference(Constants.Pref.FORCE_V3_SIGNATURES)); - initializeConcealPgpApplication( - (CheckBoxPreference) findPreference(Constants.Pref.CONCEAL_PGP_APPLICATION)); + initializeWriteVersionHeader( + (CheckBoxPreference) findPreference(Constants.Pref.WRITE_VERSION_HEADER)); } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { // Load the legacy preferences headers @@ -269,8 +269,8 @@ public class PreferencesActivity extends PreferenceActivity { initializeForceV3Signatures( (CheckBoxPreference) findPreference(Constants.Pref.FORCE_V3_SIGNATURES)); - initializeConcealPgpApplication( - (CheckBoxPreference) findPreference(Constants.Pref.CONCEAL_PGP_APPLICATION)); + initializeWriteVersionHeader( + (CheckBoxPreference) findPreference(Constants.Pref.WRITE_VERSION_HEADER)); } } @@ -404,12 +404,12 @@ public class PreferencesActivity extends PreferenceActivity { }); } - private static void initializeConcealPgpApplication(final CheckBoxPreference mConcealPgpApplication) { - mConcealPgpApplication.setChecked(sPreferences.getConcealPgpApplication()); - mConcealPgpApplication.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + private static void initializeWriteVersionHeader(final CheckBoxPreference mWriteVersionHeader) { + mWriteVersionHeader.setChecked(sPreferences.getWriteVersionHeader()); + mWriteVersionHeader.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference preference, Object newValue) { - mConcealPgpApplication.setChecked((Boolean) newValue); - sPreferences.setConcealPgpApplication((Boolean) newValue); + mWriteVersionHeader.setChecked((Boolean) newValue); + sPreferences.setWriteVersionHeader((Boolean) newValue); return false; } }); diff --git a/OpenKeychain/src/main/res/values-de/strings.xml b/OpenKeychain/src/main/res/values-de/strings.xml index c563267cc..a843a154a 100644 --- a/OpenKeychain/src/main/res/values-de/strings.xml +++ b/OpenKeychain/src/main/res/values-de/strings.xml @@ -81,8 +81,8 @@ Passwort wiederholen Algorithmus Datei: ASCII Armor - Lass andere wissen dass du OpenKeychain nutzt - Fügt \'OpenKeychain v2.7\' zu OpenPGP Signaturen, Daten und exportierten Schlüsseln hinzu + Lass andere wissen dass du OpenKeychain nutzt + Fügt \'OpenKeychain v2.7\' zu OpenPGP Signaturen, Daten und exportierten Schlüsseln hinzu Von: An: Dateien: Nach Verschlüsselung löschen diff --git a/OpenKeychain/src/main/res/values-es/strings.xml b/OpenKeychain/src/main/res/values-es/strings.xml index eddfb4593..80c2060d1 100644 --- a/OpenKeychain/src/main/res/values-es/strings.xml +++ b/OpenKeychain/src/main/res/values-es/strings.xml @@ -84,8 +84,8 @@ Algoritmo Armadura ASCII del fichero Ficheros: Armadura ASCII - Permitir a otros saber que está usando OpenKeychain - Escribe \'OpenKeychain v2.7\' en las firmas OpenPGP, el texto cifrado, y las claves exportadas + Permitir a otros saber que está usando OpenKeychain + Escribe \'OpenKeychain v2.7\' en las firmas OpenPGP, el texto cifrado, y las claves exportadas Desde: Hacia: Ficheros: Borrar después del cifrado diff --git a/OpenKeychain/src/main/res/values-fr/strings.xml b/OpenKeychain/src/main/res/values-fr/strings.xml index d2a13ef2d..e30ebb883 100644 --- a/OpenKeychain/src/main/res/values-fr/strings.xml +++ b/OpenKeychain/src/main/res/values-fr/strings.xml @@ -84,8 +84,8 @@ Algorithme Fichier ASCII Armor Fichier : ASCII Armor - Informez les autres de votre utilisation d\'OpenKeychain - Ajoute « OpenKeychain v2.7 » aux signatures OpenPGP, aux cryptogrammes, et aux clefs exportées + Informez les autres de votre utilisation d\'OpenKeychain + Ajoute « OpenKeychain v2.7 » aux signatures OpenPGP, aux cryptogrammes, et aux clefs exportées De : À : Fichier : supprimer après chiffrement diff --git a/OpenKeychain/src/main/res/values-it/strings.xml b/OpenKeychain/src/main/res/values-it/strings.xml index a3941e147..89e09783b 100644 --- a/OpenKeychain/src/main/res/values-it/strings.xml +++ b/OpenKeychain/src/main/res/values-it/strings.xml @@ -69,8 +69,8 @@ Frase di Accesso Ripeti Frase di Accesso Algortimo - Fai sapere agli altri che utilizzi OpenKeychain - Scrive \'OpenKeychain v2.7\' nelle firme OpenPGP, testi cifrati e chiavi esportate + Fai sapere agli altri che utilizzi OpenKeychain + Scrive \'OpenKeychain v2.7\' nelle firme OpenPGP, testi cifrati e chiavi esportate Cancella Dopo Decodifica Algoritmo di Codifica Algoritmo di Hash diff --git a/OpenKeychain/src/main/res/values-ja/strings.xml b/OpenKeychain/src/main/res/values-ja/strings.xml index d4fc5f976..dbb52d208 100644 --- a/OpenKeychain/src/main/res/values-ja/strings.xml +++ b/OpenKeychain/src/main/res/values-ja/strings.xml @@ -84,8 +84,8 @@ アルゴリズム アスキー形式ファイル ファイル: アスキー形式 - 他の人にあなたがOpenKeychain使用していることを知ってもらいましょう - OpenPGPの 署名、暗号文、そしてエクスポートした鍵に \'OpenKeychain v2.7\' と書くようになりました + 他の人にあなたがOpenKeychain使用していることを知ってもらいましょう + OpenPGPの 署名、暗号文、そしてエクスポートした鍵に \'OpenKeychain v2.7\' と書くようになりました 差出人: 宛先 ファイル: 暗号化後に削除 diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 352ca951c..8ccb92854 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -90,8 +90,8 @@ Algorithm File ASCII Armor Files: ASCII Armor - Let others know that you\'re using OpenKeychain - Writes \'OpenKeychain v2.7\' to OpenPGP signatures, ciphertext, and exported keys + Let others know that you\'re using OpenKeychain + Writes \'OpenKeychain v2.7\' to OpenPGP signatures, ciphertext, and exported keys From: To: Files: Delete After Encryption diff --git a/OpenKeychain/src/main/res/xml/adv_preferences.xml b/OpenKeychain/src/main/res/xml/adv_preferences.xml index a07ae06bb..588a6e62d 100644 --- a/OpenKeychain/src/main/res/xml/adv_preferences.xml +++ b/OpenKeychain/src/main/res/xml/adv_preferences.xml @@ -40,10 +40,10 @@ android:title="@string/label_ascii_armor" /> + android:title="@string/label_write_version_header" + android:summary="@string/label_write_version_header_summary" /> Date: Thu, 14 Aug 2014 13:08:39 +0200 Subject: API: Return metadata only for v4 api clients --- .../org/sufficientlysecure/keychain/remote/OpenPgpService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 3c2f7ebda..fd616f0cd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -428,9 +428,11 @@ public class OpenPgpService extends RemoteService { } } - OpenPgpMetadata metadata = decryptVerifyResult.getDecryptMetadata(); - if (metadata != null) { - result.putExtra(OpenPgpApi.RESULT_METADATA, metadata); + if (data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) == 4) { + OpenPgpMetadata metadata = decryptVerifyResult.getDecryptMetadata(); + if (metadata != null) { + result.putExtra(OpenPgpApi.RESULT_METADATA, metadata); + } } } finally { -- cgit v1.2.3 From 37edd0f390064e725d1b5c1c866a76c9922b0f64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Thu, 14 Aug 2014 13:10:38 +0200 Subject: API: Return metadata only for v4 api clients and above... --- .../java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenKeychain/src/main') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index fd616f0cd..492ade7c3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -428,7 +428,7 @@ public class OpenPgpService extends RemoteService { } } - if (data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) == 4) { + if (data.getIntExtra(OpenPgpApi.EXTRA_API_VERSION, -1) >= 4) { OpenPgpMetadata metadata = decryptVerifyResult.getDecryptMetadata(); if (metadata != null) { result.putExtra(OpenPgpApi.RESULT_METADATA, metadata); -- cgit v1.2.3