minor changes, add convertFingerprintToKeyId method

This commit is contained in:
Vincent Breitmoser 2015-03-08 03:12:26 +01:00
parent 2b5023a75d
commit ea7068acdf
6 changed files with 59 additions and 18 deletions

View File

@ -163,7 +163,7 @@ public class CertifyOperationTest {
CertifyActionsParcel actions = new CertifyActionsParcel(mStaticRing1.getMasterKeyId());
actions.add(new CertifyAction(mStaticRing2.getMasterKeyId(),
mStaticRing2.getPublicKey().getUnorderedUserIds()));
mStaticRing2.getPublicKey().getUnorderedUserIds(), null));
CertifyResult result = op.certify(actions, null);
Assert.assertTrue("certification must succeed", result.success());
@ -213,7 +213,7 @@ public class CertifyOperationTest {
CertifyActionsParcel actions = new CertifyActionsParcel(mStaticRing1.getMasterKeyId());
actions.add(new CertifyAction(mStaticRing1.getMasterKeyId(),
mStaticRing2.getPublicKey().getUnorderedUserIds()));
mStaticRing2.getPublicKey().getUnorderedUserIds(), null));
CertifyResult result = op.certify(actions, null);
@ -231,7 +231,7 @@ public class CertifyOperationTest {
CertifyActionsParcel actions = new CertifyActionsParcel(mStaticRing1.getMasterKeyId());
ArrayList<String> uids = new ArrayList<String>();
uids.add("nonexistent");
actions.add(new CertifyAction(1234L, uids));
actions.add(new CertifyAction(1234L, uids, null));
CertifyResult result = op.certify(actions, null);
@ -243,7 +243,7 @@ public class CertifyOperationTest {
{
CertifyActionsParcel actions = new CertifyActionsParcel(1234L);
actions.add(new CertifyAction(mStaticRing1.getMasterKeyId(),
mStaticRing2.getPublicKey().getUnorderedUserIds()));
mStaticRing2.getPublicKey().getUnorderedUserIds(), null));
CertifyResult result = op.certify(actions, null);

View File

@ -0,0 +1,44 @@
package org.sufficientlysecure.keychain.util;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
@RunWith(RobolectricTestRunner.class)
@org.robolectric.annotation.Config(emulateSdk = 18) // Robolectric doesn't yet support 19
public class KeyFormattingUtilsTest {
static final byte[] fp = new byte[] {
(byte) 0xD4, (byte) 0xAB, (byte) 0x19, (byte) 0x29, (byte) 0x64,
(byte) 0xF7, (byte) 0x6A, (byte) 0x7F, (byte) 0x8F, (byte) 0x8A,
(byte) 0x9B, (byte) 0x35, (byte) 0x7B, (byte) 0xD1, (byte) 0x83,
(byte) 0x20, (byte) 0xDE, (byte) 0xAD, (byte) 0xFA, (byte) 0x11
};
static final long keyId = 0x7bd18320deadfa11L;
@Test
public void testStuff() {
Assert.assertEquals(KeyFormattingUtils.convertFingerprintToKeyId(fp), keyId);
Assert.assertEquals(
"d4ab192964f76a7f8f8a9b357bd18320deadfa11",
KeyFormattingUtils.convertFingerprintToHex(fp)
);
Assert.assertEquals(
"0x7bd18320deadfa11",
KeyFormattingUtils.convertKeyIdToHex(keyId)
);
Assert.assertEquals(
"0xdeadfa11",
KeyFormattingUtils.convertKeyIdToHexShort(keyId)
);
}
}

View File

@ -2,9 +2,6 @@ package org.sufficientlysecure.keychain.util;
import java.util.Random;
/**
* Created by valodim on 9/15/14.
*/
public class TestingUtils {
public static String genPassphrase() {
return genPassphrase(false);

View File

@ -23,6 +23,7 @@ import android.os.Parcelable;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.sufficientlysecure.keychain.pgp.WrappedUserAttribute;
@ -81,17 +82,11 @@ public class CertifyActionsParcel implements Parcelable {
final public ArrayList<String> mUserIds;
final public ArrayList<WrappedUserAttribute> mUserAttributes;
public CertifyAction(long masterKeyId, ArrayList<String> userIds) {
public CertifyAction(long masterKeyId, List<String> userIds,
List<WrappedUserAttribute> attributes) {
mMasterKeyId = masterKeyId;
mUserIds = userIds;
mUserAttributes = null;
}
public CertifyAction(long masterKeyId, ArrayList<String> userIds,
ArrayList<WrappedUserAttribute> attributes) {
mMasterKeyId = masterKeyId;
mUserIds = userIds;
mUserAttributes = attributes;
mUserIds = new ArrayList<>(userIds);
mUserAttributes = new ArrayList<>(attributes);
}
}

View File

@ -164,7 +164,7 @@ public class MultiUserIdsAdapter extends CursorAdapter {
CertifyAction action = actions.get(keyId);
if (actions.get(keyId) == null) {
actions.put(keyId, new CertifyAction(keyId, uids));
actions.put(keyId, new CertifyAction(keyId, uids, null));
} else {
action.mUserIds.addAll(uids);
}

View File

@ -38,6 +38,7 @@ import org.sufficientlysecure.keychain.service.SaveKeyringParcel.Algorithm;
import org.sufficientlysecure.keychain.service.SaveKeyringParcel.Curve;
import org.sufficientlysecure.keychain.util.Log;
import java.nio.ByteBuffer;
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@ -249,6 +250,10 @@ public class KeyFormattingUtils {
return hexString;
}
public static long convertFingerprintToKeyId(byte[] fingerprint) {
return ByteBuffer.wrap(fingerprint, 12, 8).getLong();
}
/**
* Makes a human-readable version of a key ID, which is usually 64 bits: lower-case, no
* leading 0x, space-separated quartets (for keys whose length in hex is divisible by 4)