aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/thialfihar/android/apg/Apg.java16
-rw-r--r--src/org/thialfihar/android/apg/DecryptMessageActivity.java7
-rw-r--r--src/org/thialfihar/android/apg/EncryptMessageActivity.java3
3 files changed, 18 insertions, 8 deletions
diff --git a/src/org/thialfihar/android/apg/Apg.java b/src/org/thialfihar/android/apg/Apg.java
index bf32fc1eb..affc78cd7 100644
--- a/src/org/thialfihar/android/apg/Apg.java
+++ b/src/org/thialfihar/android/apg/Apg.java
@@ -122,7 +122,7 @@ public class Apg {
protected static Vector<PGPSecretKeyRing> mSecretKeyRings;
public static Pattern PGP_MESSAGE =
- Pattern.compile(".*?(-----BEGIN PGP MESSAGE-----\n.*?-----END PGP MESSAGE-----).*",
+ Pattern.compile(".*?(-----BEGIN PGP MESSAGE-----.*?-----END PGP MESSAGE-----).*",
Pattern.DOTALL);
protected static boolean mInitialized = false;
@@ -1135,6 +1135,7 @@ public class Apg {
}
public static void encrypt(InputStream inStream, OutputStream outStream,
+ boolean armored,
long encryptionKeyIds[], long signatureKeyId,
String signaturePassPhrase,
ProgressDialogUpdater progress)
@@ -1142,11 +1143,16 @@ public class Apg {
NoSuchAlgorithmException, SignatureException {
Security.addProvider(new BouncyCastleProvider());
- ArmoredOutputStream armorOut = new ArmoredOutputStream(outStream);
- armorOut.setHeader("Version", FULL_VERSION);
- OutputStream out = armorOut;
+ ArmoredOutputStream armorOut = null;
+ OutputStream out = null;
OutputStream encryptOut = null;
-
+ if (armored) {
+ armorOut = new ArmoredOutputStream(outStream);
+ armorOut.setHeader("Version", FULL_VERSION);
+ out = armorOut;
+ } else {
+ out = outStream;
+ }
PGPSecretKey signingKey = null;
PGPSecretKeyRing signingKeyRing = null;
PGPPrivateKey signaturePrivateKey = null;
diff --git a/src/org/thialfihar/android/apg/DecryptMessageActivity.java b/src/org/thialfihar/android/apg/DecryptMessageActivity.java
index 179d5be55..055c8256c 100644
--- a/src/org/thialfihar/android/apg/DecryptMessageActivity.java
+++ b/src/org/thialfihar/android/apg/DecryptMessageActivity.java
@@ -190,6 +190,8 @@ public class DecryptMessageActivity extends Activity
Matcher matcher = Apg.PGP_MESSAGE.matcher(data);
if (matcher.matches()) {
data = matcher.group(1);
+ // replace non breakable spaces
+ data = data.replaceAll("\\xa0", " ");
mMessage.setText(data);
}
}
@@ -312,8 +314,9 @@ public class DecryptMessageActivity extends Activity
Bundle data = new Bundle();
Message msg = new Message();
- ByteArrayInputStream in =
- new ByteArrayInputStream(mMessage.getText().toString().getBytes());
+ String messageData = mMessage.getText().toString();
+
+ ByteArrayInputStream in = new ByteArrayInputStream(messageData.getBytes());
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
diff --git a/src/org/thialfihar/android/apg/EncryptMessageActivity.java b/src/org/thialfihar/android/apg/EncryptMessageActivity.java
index 27e4c29be..af2eac82d 100644
--- a/src/org/thialfihar/android/apg/EncryptMessageActivity.java
+++ b/src/org/thialfihar/android/apg/EncryptMessageActivity.java
@@ -312,7 +312,8 @@ public class EncryptMessageActivity extends Activity
try {
if (mEncryptionKeyIds != null && mEncryptionKeyIds.length > 0) {
- Apg.encrypt(in, out, mEncryptionKeyIds, mSignatureKeyId, Apg.getPassPhrase(), this);
+ Apg.encrypt(in, out, true, mEncryptionKeyIds, mSignatureKeyId,
+ Apg.getPassPhrase(), this);
data.putString("message", new String(out.toByteArray()));
} else {
Apg.sign(in, out, mSignatureKeyId, Apg.getPassPhrase(), this);