aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-03-13 01:55:31 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-03-13 01:55:31 +0100
commita9a5551d95d964b5037fb2e5308081618a33b802 (patch)
treecae2fdb21c63836cc55c72c3beaa708cf3b50816 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp
parentb26e57ab1996d36005097b9bab3279dfa5c8d7b4 (diff)
downloadopen-keychain-a9a5551d95d964b5037fb2e5308081618a33b802.tar.gz
open-keychain-a9a5551d95d964b5037fb2e5308081618a33b802.tar.bz2
open-keychain-a9a5551d95d964b5037fb2e5308081618a33b802.zip
remove notiion of nonce/identifier
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java5
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedCookieResource.java26
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedIdentity.java20
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedResource.java4
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/RawLinkedIdentity.java25
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java6
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java4
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java5
8 files changed, 25 insertions, 70 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java
index 49e4d9793..2431cb743 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java
@@ -41,7 +41,7 @@ public class WrappedUserAttribute implements Serializable {
public static final int UAT_NONE = 0;
public static final int UAT_IMAGE = UserAttributeSubpacketTags.IMAGE_ATTRIBUTE;
- public static final int UAT_LINKED_ID = 100;
+ public static final int UAT_LINKED_ID = 101;
private PGPUserAttributeSubpacketVector mVector;
@@ -82,7 +82,7 @@ public class WrappedUserAttribute implements Serializable {
public static WrappedUserAttribute fromData (byte[] data) throws IOException {
UserAttributeSubpacketInputStream in =
new UserAttributeSubpacketInputStream(new ByteArrayInputStream(data));
- ArrayList<UserAttributeSubpacket> list = new ArrayList<UserAttributeSubpacket>();
+ ArrayList<UserAttributeSubpacket> list = new ArrayList<>();
while (in.available() > 0) {
list.add(in.readPacket());
}
@@ -126,6 +126,7 @@ public class WrappedUserAttribute implements Serializable {
private void readObjectNoData() throws ObjectStreamException {
}
+ @SuppressWarnings("SimplifiableIfStatement")
@Override
public boolean equals(Object o) {
if (!WrappedUserAttribute.class.isInstance(o)) {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedCookieResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedCookieResource.java
index c92624f65..21a8c8f98 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedCookieResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedCookieResource.java
@@ -61,16 +61,16 @@ public abstract class LinkedCookieResource extends LinkedResource {
return mSubUri;
}
- public static String generate (Context context, byte[] fingerprint, int nonce) {
- return String.format("[Verifying my PGP key: openpgp4fpr:%s#%08x]",
- KeyFormattingUtils.convertFingerprintToHex(fingerprint), nonce);
+ public static String generate (Context context, byte[] fingerprint) {
+ return String.format("[Verifying my PGP key: openpgp4fpr:%s]",
+ KeyFormattingUtils.convertFingerprintToHex(fingerprint));
}
public static String generatePreview () {
return "[Verifying my PGP key: openpgp4fpr:0x…]";
}
- public LinkedVerifyResult verify(byte[] fingerprint, int nonce) {
+ public LinkedVerifyResult verify(byte[] fingerprint) {
OperationLog log = new OperationLog();
log.add(LogType.MSG_LV, 0);
@@ -84,7 +84,7 @@ public abstract class LinkedCookieResource extends LinkedResource {
Log.d(Constants.TAG, "Resource data: '" + res + "'");
- return verifyString(log, 1, res, nonce, fingerprint);
+ return verifyString(log, 1, res, fingerprint);
}
@@ -96,7 +96,7 @@ public abstract class LinkedCookieResource extends LinkedResource {
protected LinkedVerifyResult verifyString (OperationLog log, int indent,
String res,
- int nonce, byte[] fingerprint) {
+ byte[] fingerprint) {
log.add(LogType.MSG_LV_MATCH, indent);
Matcher match = matchResource(log, indent+1, res);
@@ -106,27 +106,13 @@ public abstract class LinkedCookieResource extends LinkedResource {
}
String candidateFp = match.group(1).toLowerCase();
- try {
- int nonceCandidate = (int) Long.parseLong(match.group(2).toLowerCase(), 16);
-
- if (nonce != nonceCandidate) {
- log.add(LogType.MSG_LV_NONCE_ERROR, indent);
- return new LinkedVerifyResult(LinkedVerifyResult.RESULT_ERROR, log);
- }
- } catch (NumberFormatException e) {
- log.add(LogType.MSG_LV_NONCE_ERROR, indent);
- return new LinkedVerifyResult(LinkedVerifyResult.RESULT_ERROR, log);
- }
-
String fp = KeyFormattingUtils.convertFingerprintToHex(fingerprint);
-
if (!fp.equals(candidateFp)) {
log.add(LogType.MSG_LV_FP_ERROR, indent);
return new LinkedVerifyResult(LinkedVerifyResult.RESULT_ERROR, log);
}
log.add(LogType.MSG_LV_FP_OK, indent);
- log.add(LogType.MSG_LV_NONCE_OK, indent);
return new LinkedVerifyResult(LinkedVerifyResult.RESULT_OK, log);
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedIdentity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedIdentity.java
index d529a2a36..ed3031b84 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedIdentity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedIdentity.java
@@ -8,8 +8,6 @@ import org.sufficientlysecure.keychain.util.Log;
import java.io.IOException;
import java.net.URI;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
import android.content.Context;
import android.support.annotation.DrawableRes;
@@ -19,8 +17,8 @@ public class LinkedIdentity extends RawLinkedIdentity {
public final LinkedResource mResource;
- protected LinkedIdentity(int nonce, URI uri, LinkedResource resource) {
- super(nonce, uri);
+ protected LinkedIdentity(URI uri, LinkedResource resource) {
+ super(uri);
if (resource == null) {
throw new AssertionError("resource must not be null in a LinkedIdentity!");
}
@@ -42,29 +40,27 @@ public class LinkedIdentity extends RawLinkedIdentity {
* subpacket can not be parsed as a valid linked id.
*/
static RawLinkedIdentity fromAttributeSubpacket(UserAttributeSubpacket subpacket) {
- if (subpacket.getType() != 100) {
+ if (subpacket.getType() != 101) {
return null;
}
byte[] data = subpacket.getData();
return fromSubpacketData(data);
-
}
static RawLinkedIdentity fromSubpacketData(byte[] data) {
try {
- int nonce = ByteBuffer.wrap(data).getInt();
- String uriStr = Strings.fromUTF8ByteArray(Arrays.copyOfRange(data, 4, data.length));
+ String uriStr = Strings.fromUTF8ByteArray(data);
URI uri = URI.create(uriStr);
LinkedResource res = LinkedResource.fromUri(uri);
if (res == null) {
- return new RawLinkedIdentity(nonce, uri);
+ return new RawLinkedIdentity(uri);
}
- return new LinkedIdentity(nonce, uri, res);
+ return new LinkedIdentity(uri, res);
} catch (IllegalArgumentException e) {
Log.e(Constants.TAG, "error parsing uri in (suspected) linked id packet");
@@ -72,8 +68,8 @@ public class LinkedIdentity extends RawLinkedIdentity {
}
}
- public static RawLinkedIdentity fromResource (LinkedCookieResource res, int nonce) {
- return new RawLinkedIdentity(nonce, res.toUri());
+ public static RawLinkedIdentity fromResource (LinkedCookieResource res) {
+ return new RawLinkedIdentity(res.toUri());
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedResource.java
index 095fd4ac7..e954a514c 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/LinkedResource.java
@@ -23,7 +23,7 @@ public abstract class LinkedResource {
protected final HashMap<String,String> mParams;
static Pattern magicPattern =
- Pattern.compile("\\[Verifying my PGP key: openpgp4fpr:([a-zA-Z0-9]+)#([a-zA-Z0-9]+)\\]");
+ Pattern.compile("\\[Verifying my PGP key: openpgp4fpr:([a-zA-Z0-9]+)]");
protected LinkedResource(Set<String> flags, HashMap<String, String> params, URI uri) {
mFlags = flags;
@@ -31,8 +31,6 @@ public abstract class LinkedResource {
mSubUri = uri;
}
- public abstract URI toUri();
-
public Set<String> getFlags () {
return new HashSet<>(mFlags);
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/RawLinkedIdentity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/RawLinkedIdentity.java
index 8f0467734..b3acc6790 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/RawLinkedIdentity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/RawLinkedIdentity.java
@@ -5,48 +5,27 @@ import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.pgp.WrappedUserAttribute;
import java.net.URI;
-import java.nio.ByteBuffer;
import android.content.Context;
-import android.content.Intent;
import android.support.annotation.DrawableRes;
/** The RawLinkedIdentity contains raw parsed data from a Linked Identity subpacket. */
public class RawLinkedIdentity {
- public final int mNonce;
public final URI mUri;
- protected RawLinkedIdentity(int nonce, URI uri) {
- mNonce = nonce;
+ protected RawLinkedIdentity(URI uri) {
mUri = uri;
}
public byte[] getEncoded() {
- byte[] uriData = Strings.toUTF8ByteArray(mUri.toASCIIString());
-
- ByteBuffer buf = ByteBuffer.allocate(4 + uriData.length);
-
- buf.putInt(mNonce);
- buf.put(uriData);
-
- return buf.array();
+ return Strings.toUTF8ByteArray(mUri.toASCIIString());
}
public WrappedUserAttribute toUserAttribute () {
return WrappedUserAttribute.fromSubpacket(WrappedUserAttribute.UAT_LINKED_ID, getEncoded());
}
- public static int generateNonce() {
- // TODO make this actually random
- // byte[] data = new byte[4];
- // new SecureRandom().nextBytes(data);
- // return Hex.toHexString(data);
-
- // debug for now
- return 0x8a9bad32;
- }
-
public @DrawableRes int getDisplayIcon() {
return R.drawable.ic_warning_grey_24dp;
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java
index cd0706ff3..253e611a8 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java
@@ -41,10 +41,10 @@ public class DnsResource extends LinkedCookieResource {
mType = type;
}
- public static String generateText (Context context, byte[] fingerprint, int nonce) {
+ public static String generateText (Context context, byte[] fingerprint) {
- return String.format("pgpid+cookie=%s;%08x",
- KeyFormattingUtils.convertFingerprintToHex(fingerprint), nonce);
+ return String.format("pgpid+cookie=%s",
+ KeyFormattingUtils.convertFingerprintToHex(fingerprint));
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java
index eebe0b5ec..1e872c6cb 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java
@@ -31,8 +31,8 @@ public class GenericHttpsResource extends LinkedCookieResource {
super(flags, params, uri);
}
- public static String generateText (Context context, byte[] fingerprint, int nonce) {
- String cookie = LinkedCookieResource.generate(context, fingerprint, nonce);
+ public static String generateText (Context context, byte[] fingerprint) {
+ String cookie = LinkedCookieResource.generate(context, fingerprint);
return String.format(context.getResources().getString(R.string.linked_id_generic_text),
cookie, "0x" + KeyFormattingUtils.convertFingerprintToHex(fingerprint).substring(24));
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java
index dc68be7f5..32bf92a99 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java
@@ -72,11 +72,6 @@ public class TwitterResource extends LinkedCookieResource {
}
- public static String generateText (Context context, byte[] fingerprint, int nonce) {
- // nothing special here for now, might change this later
- return LinkedCookieResource.generate(context, fingerprint, nonce);
- }
-
@Override
protected String fetchResource(OperationLog log, int indent) {