diff options
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain/util')
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 |