aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2013-09-22 19:58:33 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2013-09-22 19:58:33 +0200
commit917c86b52454d2984ac116ace8e56c75f1e244fb (patch)
tree408697945836ce5adc36201f95feaaafa63412fe /OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util
parent7b2de96d152ab1de922a3303409e85afbbc00778 (diff)
downloadopen-keychain-917c86b52454d2984ac116ace8e56c75f1e244fb.tar.gz
open-keychain-917c86b52454d2984ac116ace8e56c75f1e244fb.tar.bz2
open-keychain-917c86b52454d2984ac116ace8e56c75f1e244fb.zip
Import keys with adapter, loader, and new design
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/AlgorithmNames.java92
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/HkpKeyServer.java10
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/KeyValueSpinnerAdapter.java101
3 files changed, 97 insertions, 106 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/AlgorithmNames.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/AlgorithmNames.java
new file mode 100644
index 000000000..8ccc63ae7
--- /dev/null
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/AlgorithmNames.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2013 Dominik Schürmann <dominik@dominikschuermann.de>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+package org.sufficientlysecure.keychain.util;
+
+import java.util.HashMap;
+import org.spongycastle.bcpg.HashAlgorithmTags;
+import org.spongycastle.openpgp.PGPEncryptedData;
+import org.sufficientlysecure.keychain.Id;
+import org.sufficientlysecure.keychain.R;
+import android.annotation.SuppressLint;
+import android.app.Activity;
+
+@SuppressLint("UseSparseArrays")
+public class AlgorithmNames {
+ Activity mActivity;
+
+ HashMap<Integer, String> mEncryptionNames = new HashMap<Integer, String>();
+ HashMap<Integer, String> mHashNames = new HashMap<Integer, String>();
+ HashMap<Integer, String> mCompressionNames = new HashMap<Integer, String>();
+
+ public AlgorithmNames(Activity context) {
+ super();
+ this.mActivity = context;
+
+ mEncryptionNames.put(PGPEncryptedData.AES_128, "AES-128");
+ mEncryptionNames.put(PGPEncryptedData.AES_192, "AES-192");
+ mEncryptionNames.put(PGPEncryptedData.AES_256, "AES-256");
+ mEncryptionNames.put(PGPEncryptedData.BLOWFISH, "Blowfish");
+ mEncryptionNames.put(PGPEncryptedData.TWOFISH, "Twofish");
+ mEncryptionNames.put(PGPEncryptedData.CAST5, "CAST5");
+ mEncryptionNames.put(PGPEncryptedData.DES, "DES");
+ mEncryptionNames.put(PGPEncryptedData.TRIPLE_DES, "Triple DES");
+ mEncryptionNames.put(PGPEncryptedData.IDEA, "IDEA");
+
+ mHashNames.put(HashAlgorithmTags.MD5, "MD5");
+ mHashNames.put(HashAlgorithmTags.RIPEMD160, "RIPEMD-160");
+ mHashNames.put(HashAlgorithmTags.SHA1, "SHA-1");
+ mHashNames.put(HashAlgorithmTags.SHA224, "SHA-224");
+ mHashNames.put(HashAlgorithmTags.SHA256, "SHA-256");
+ mHashNames.put(HashAlgorithmTags.SHA384, "SHA-384");
+ mHashNames.put(HashAlgorithmTags.SHA512, "SHA-512");
+
+ mCompressionNames.put(Id.choice.compression.none, mActivity.getString(R.string.choice_none)
+ + " (" + mActivity.getString(R.string.fast) + ")");
+ mCompressionNames.put(Id.choice.compression.zip,
+ "ZIP (" + mActivity.getString(R.string.fast) + ")");
+ mCompressionNames.put(Id.choice.compression.zlib,
+ "ZLIB (" + mActivity.getString(R.string.fast) + ")");
+ mCompressionNames.put(Id.choice.compression.bzip2,
+ "BZIP2 (" + mActivity.getString(R.string.very_slow) + ")");
+ }
+
+ public HashMap<Integer, String> getEncryptionNames() {
+ return mEncryptionNames;
+ }
+
+ public void setEncryptionNames(HashMap<Integer, String> encryptionNames) {
+ this.mEncryptionNames = encryptionNames;
+ }
+
+ public HashMap<Integer, String> getHashNames() {
+ return mHashNames;
+ }
+
+ public void setHashNames(HashMap<Integer, String> hashNames) {
+ this.mHashNames = hashNames;
+ }
+
+ public HashMap<Integer, String> getCompressionNames() {
+ return mCompressionNames;
+ }
+
+ public void setCompressionNames(HashMap<Integer, String> compressionNames) {
+ this.mCompressionNames = compressionNames;
+ }
+
+}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/HkpKeyServer.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/HkpKeyServer.java
index ff69aa264..8b5e94858 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/HkpKeyServer.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/HkpKeyServer.java
@@ -179,8 +179,8 @@ public class HkpKeyServer extends KeyServer {
KeyInfo info = new KeyInfo();
info.size = Integer.parseInt(matcher.group(1));
info.algorithm = matcher.group(2);
- info.keyId = PgpKeyHelper.keyFromHex(matcher.group(3));
- info.fingerPrint = PgpKeyHelper.getSmallFingerPrint(info.keyId);
+ info.keyId = PgpKeyHelper.convertHexToKeyId(matcher.group(3));
+ info.fingerPrint = PgpKeyHelper.convertKeyIdToHex(info.keyId);
String chunks[] = matcher.group(4).split("-");
info.date = new GregorianCalendar(Integer.parseInt(chunks[0]),
Integer.parseInt(chunks[1]), Integer.parseInt(chunks[2])).getTime();
@@ -211,7 +211,7 @@ public class HkpKeyServer extends KeyServer {
HttpClient client = new DefaultHttpClient();
try {
HttpGet get = new HttpGet("http://" + mHost + ":" + mPort
- + "/pks/lookup?op=get&search=0x" + PgpKeyHelper.keyToHex(keyId));
+ + "/pks/lookup?op=get&search=0x" + PgpKeyHelper.convertKeyToHex(keyId));
HttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
@@ -235,13 +235,13 @@ public class HkpKeyServer extends KeyServer {
}
@Override
- public void add(String armouredText) throws AddKeyException {
+ public void add(String armoredText) throws AddKeyException {
HttpClient client = new DefaultHttpClient();
try {
HttpPost post = new HttpPost("http://" + mHost + ":" + mPort + "/pks/add");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
- nameValuePairs.add(new BasicNameValuePair("keytext", armouredText));
+ nameValuePairs.add(new BasicNameValuePair("keytext", armoredText));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/KeyValueSpinnerAdapter.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/KeyValueSpinnerAdapter.java
deleted file mode 100644
index e8905062c..000000000
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util/KeyValueSpinnerAdapter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2013 Dominik Schürmann <dominik@dominikschuermann.de>
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-package org.sufficientlysecure.keychain.util;
-
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import android.content.Context;
-import android.widget.ArrayAdapter;
-
-public class KeyValueSpinnerAdapter extends ArrayAdapter<String> {
- private final HashMap<Integer, String> mData;
- private final int[] mKeys;
- private final String[] mValues;
-
- static <K, V extends Comparable<? super V>> SortedSet<Map.Entry<K, V>> entriesSortedByValues(
- Map<K, V> map) {
- SortedSet<Map.Entry<K, V>> sortedEntries = new TreeSet<Map.Entry<K, V>>(
- new Comparator<Map.Entry<K, V>>() {
- @Override
- public int compare(Map.Entry<K, V> e1, Map.Entry<K, V> e2) {
- return e1.getValue().compareTo(e2.getValue());
- }
- });
- sortedEntries.addAll(map.entrySet());
- return sortedEntries;
- }
-
- public KeyValueSpinnerAdapter(Context context, HashMap<Integer, String> objects) {
- // To make the drop down a simple text box
- super(context, android.R.layout.simple_spinner_item);
- mData = objects;
-
- // To make the drop down view a radio button list
- setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-
- SortedSet<Map.Entry<Integer, String>> sorted = entriesSortedByValues(objects);
-
- // Assign hash keys with a position so that we can present and retrieve them
- int i = 0;
- mKeys = new int[mData.size()];
- mValues = new String[mData.size()];
- for (Map.Entry<Integer, String> entry : sorted) {
- mKeys[i] = entry.getKey();
- mValues[i] = entry.getValue();
- i++;
- }
- }
-
- public int getCount() {
- return mData.size();
- }
-
- /**
- * Returns the value
- */
- @Override
- public String getItem(int position) {
- // return the value based on the position. This is displayed in the list.
- return mValues[position];
- }
-
- /**
- * Returns item key
- */
- public long getItemId(int position) {
- // Return an id to represent the item.
-
- return mKeys[position];
- }
-
- /**
- * Find position from key
- */
- public int getPosition(long itemId) {
- for (int i = 0; i < mKeys.length; i++) {
- if ((int) itemId == mKeys[i]) {
- return i;
- }
- }
- return -1;
- }
-} \ No newline at end of file