diff options
| author | StevenWdV <stevenwdv@gmail.com> | 2022-02-09 00:40:38 +0100 |
|---|---|---|
| committer | StevenWdV <stevenwdv@gmail.com> | 2022-02-09 01:09:35 +0100 |
| commit | 62c9f8bdcfca73632839aaa73bd100b4b6f3e377 (patch) | |
| tree | 9742cf6fdba8879a06f3be88699b806a87d43e4b /wrappers/java | |
| parent | 2aad9b6ae61337ef94b05adc377a9ad2cbaa8eb8 (diff) | |
Fix Android wrapper
Diffstat (limited to 'wrappers/java')
6 files changed, 0 insertions, 122 deletions
diff --git a/wrappers/java/src/main/java/nl/eduvpn/common/Discovery.java b/wrappers/java/src/main/java/nl/eduvpn/common/Discovery.java deleted file mode 100644 index 69308c8..0000000 --- a/wrappers/java/src/main/java/nl/eduvpn/common/Discovery.java +++ /dev/null @@ -1,81 +0,0 @@ -package nl.eduvpn.common; - -import com.sun.jna.*; - -import java.nio.charset.StandardCharsets; -import java.time.Instant; - -public final class Discovery { - private static final String LIB_NAME = "eduvpn_common"; - private static final NativeApi discovery = Native.load(LIB_NAME, NativeApi.class); - - /** - * Verifies the signature on the JSON server_list.json/organization_list.json file. - * If the function returns, the signature is valid for the given file type. - * - * @param signature .minisig signature file contents. - * @param signedJson Signed .json file contents. - * @param expectedFileName The file type to be verified, one of {@code "server_list.json"} or {@code "organization_list.json"}. - * @param minSignTime Minimum time for signature. Should be set to at least the time of the previous signature. - * @throws IllegalArgumentException If {@code expectedFileName} is not one of the allowed values or one of the parameters is empty. - * @throws VerifyException If signature verification fails. - */ - public static void verify(byte[] signature, byte[] signedJson, String expectedFileName, Instant minSignTime) throws VerifyException { - byte err = discovery.Verify(NativeApi.GoSlice.fromArray(signature), NativeApi.GoSlice.fromArray(signedJson), - NativeApi.GoSlice.fromString(expectedFileName), minSignTime.getEpochSecond()); - - switch (err) { - case 0: - return; - case 1: - throw new IllegalArgumentException("unknown expected file name"); - case 2: - throw new InvalidSignatureException(); - case 3: - throw new InvalidSignatureUnknownKeyException(); - case 4: - throw new SignatureTooOldException(); - default: - throw new UnknownVerifyException(err); - } - } - - /** Use for testing only, see Go documentation. */ - /*package-private*/ - static void insecureTestingSetExtraKey(String keyString) { - discovery.InsecureTestingSetExtraKey(NativeApi.GoSlice.fromArray(keyString.getBytes(StandardCharsets.UTF_8))); - } - - private interface NativeApi extends Library { - // C-compatible structure - @Structure.FieldOrder({"data", "len", "cap"}) - class GoSlice extends Structure implements Structure.ByValue { - public Pointer data; - public long len, cap; - - public GoSlice(Pointer data, long len, long cap) { - this.data = data; - this.len = len; - this.cap = cap; - } - - public static GoSlice fromArray(byte[] bytes) { - Memory memory = new Memory(bytes.length); - memory.write(0, bytes, 0, bytes.length); - return new GoSlice(memory, bytes.length, bytes.length); - } - - /** From string as UTF-8. */ - public static GoSlice fromString(String str) { - return fromArray(str.getBytes(StandardCharsets.UTF_8)); - } - } - - byte Verify(GoSlice signatureFileContent, GoSlice signedJson, GoSlice expectedFileName, long minSignTime); - - void InsecureTestingSetExtraKey(GoSlice keyString); - } - - private Discovery() { - } -} diff --git a/wrappers/java/src/main/java/nl/eduvpn/common/InvalidSignatureException.java b/wrappers/java/src/main/java/nl/eduvpn/common/InvalidSignatureException.java deleted file mode 100644 index e531206..0000000 --- a/wrappers/java/src/main/java/nl/eduvpn/common/InvalidSignatureException.java +++ /dev/null @@ -1,8 +0,0 @@ -package nl.eduvpn.common; - -/** Signature is invalid (for the expected file type). */ -public final class InvalidSignatureException extends VerifyException { - public InvalidSignatureException() { - super("invalid signature"); - } -} diff --git a/wrappers/java/src/main/java/nl/eduvpn/common/InvalidSignatureUnknownKeyException.java b/wrappers/java/src/main/java/nl/eduvpn/common/InvalidSignatureUnknownKeyException.java deleted file mode 100644 index 8eaf661..0000000 --- a/wrappers/java/src/main/java/nl/eduvpn/common/InvalidSignatureUnknownKeyException.java +++ /dev/null @@ -1,8 +0,0 @@ -package nl.eduvpn.common; - -/** Signature was created with an unknown key and has not been verified. */ -public final class InvalidSignatureUnknownKeyException extends VerifyException { - public InvalidSignatureUnknownKeyException() { - super("invalid signature (unknown key)"); - } -} diff --git a/wrappers/java/src/main/java/nl/eduvpn/common/SignatureTooOldException.java b/wrappers/java/src/main/java/nl/eduvpn/common/SignatureTooOldException.java deleted file mode 100644 index c40c718..0000000 --- a/wrappers/java/src/main/java/nl/eduvpn/common/SignatureTooOldException.java +++ /dev/null @@ -1,8 +0,0 @@ -package nl.eduvpn.common; - -/** Signature timestamp smaller than specified minimum signing time (rollback). */ -public final class SignatureTooOldException extends VerifyException { - public SignatureTooOldException() { - super("replay of previous signature (rollback)"); - } -} diff --git a/wrappers/java/src/main/java/nl/eduvpn/common/UnknownVerifyException.java b/wrappers/java/src/main/java/nl/eduvpn/common/UnknownVerifyException.java deleted file mode 100644 index fa76a44..0000000 --- a/wrappers/java/src/main/java/nl/eduvpn/common/UnknownVerifyException.java +++ /dev/null @@ -1,9 +0,0 @@ -package nl.eduvpn.common; - -/** Other unknown error. */ -public final class UnknownVerifyException extends VerifyException { - public UnknownVerifyException(byte code) { - super(String.format("unknown verify error (%d)", code)); - assert code != 0; - } -} diff --git a/wrappers/java/src/main/java/nl/eduvpn/common/VerifyException.java b/wrappers/java/src/main/java/nl/eduvpn/common/VerifyException.java deleted file mode 100644 index 71ea290..0000000 --- a/wrappers/java/src/main/java/nl/eduvpn/common/VerifyException.java +++ /dev/null @@ -1,8 +0,0 @@ -package nl.eduvpn.common; - -/** Verification failed, do not trust the file. */ -public abstract class VerifyException extends Exception { - protected VerifyException(String message) { - super(message); - } -} |
