1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-12-17 09:41:08 +01:00

Add toUri/fromUri methods to OpenPgpV4Fingerprint

This commit is contained in:
Paul Schaub 2020-07-10 18:17:29 +02:00
parent 6c449b86af
commit 46af22cc50
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
2 changed files with 38 additions and 0 deletions

View file

@ -15,6 +15,8 @@
*/
package org.pgpainless.key;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
@ -31,6 +33,8 @@ import org.bouncycastle.util.encoders.Hex;
*/
public class OpenPgpV4Fingerprint implements CharSequence, Comparable<OpenPgpV4Fingerprint> {
public static final String SCHEME = "openpgp4fpr";
private static final Charset utf8 = Charset.forName("UTF-8");
private final String fingerprint;
@ -138,6 +142,21 @@ public class OpenPgpV4Fingerprint implements CharSequence, Comparable<OpenPgpV4F
return fingerprint;
}
public URI toUri() {
try {
return new URI(SCHEME, toString(), null);
} catch (URISyntaxException e) {
throw new AssertionError(e);
}
}
public static OpenPgpV4Fingerprint fromUri(URI uri) {
if (!SCHEME.equals(uri.getScheme())) {
throw new IllegalArgumentException("URI scheme MUST equal '" + SCHEME + "'");
}
return new OpenPgpV4Fingerprint(uri.getSchemeSpecificPart());
}
@Override
public int compareTo(@Nonnull OpenPgpV4Fingerprint openPgpV4Fingerprint) {
return fingerprint.compareTo(openPgpV4Fingerprint.fingerprint);