Package org.bouncycastle.bcpg
Class FingerprintUtil
- java.lang.Object
-
- org.bouncycastle.bcpg.FingerprintUtil
-
public class FingerprintUtil extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description FingerprintUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
keyIdFromFingerprint(int keyVersion, byte[] fingerprint)
Derive a key-id from the given key fingerprint.static long
keyIdFromLibrePgpFingerprint(byte[] v5Fingerprint)
Derive a 64 bit key-id from a version 5 LibrePGP fingerprint.static long
keyIdFromV4Fingerprint(byte[] v4Fingerprint)
Derive a 64 bit key-id from a version 4 OpenPGP fingerprint.static long
keyIdFromV6Fingerprint(byte[] v6Fingerprint)
Derive a 64 bit key-id from a version 6 OpenPGP fingerprint.static long
longFromLeftMostBytes(byte[] bytes)
Convert the left-most 8 bytes from the given array to a long.static long
longFromRightMostBytes(byte[] bytes)
Convert the right-most 8 bytes from the given array to a long.static java.lang.String
prettifyFingerprint(byte[] fingerprint)
static long
readKeyID(byte[] bytes)
Read a key-ID from the first 8 octets of the given byte array.static long
readKeyID(byte[] bytes, int offset)
Read a key-ID from 8 octets of the given byte array starting at offset.static void
writeKeyID(long keyID, byte[] bytes)
Write the key-ID to the first 8 octets of the given byte array.static void
writeKeyID(long keyID, byte[] bytes, int offset)
Write the key-ID encoded as 8 octets to the given byte array, starting at index offset.
-
-
-
Method Detail
-
keyIdFromFingerprint
public static long keyIdFromFingerprint(int keyVersion, byte[] fingerprint)
Derive a key-id from the given key fingerprint. This method can derive key-ids from v4, v5 (LibrePGP) and v6 keys. For keys with other versions (2,3) it will return 0.- Parameters:
keyVersion
- version of the keyfingerprint
- fingerprint of the key- Returns:
- derived key-id
-
keyIdFromV6Fingerprint
public static long keyIdFromV6Fingerprint(byte[] v6Fingerprint)
Derive a 64 bit key-id from a version 6 OpenPGP fingerprint. For v6 keys, the key-id corresponds to the left-most 8 octets of the fingerprint.- Parameters:
v6Fingerprint
- 32 byte fingerprint- Returns:
- key-id
-
keyIdFromLibrePgpFingerprint
public static long keyIdFromLibrePgpFingerprint(byte[] v5Fingerprint)
Derive a 64 bit key-id from a version 5 LibrePGP fingerprint. For such keys, the key-id corresponds to the left-most 8 octets of the fingerprint.- Parameters:
v5Fingerprint
- 32 byte fingerprint- Returns:
- key-id
-
keyIdFromV4Fingerprint
public static long keyIdFromV4Fingerprint(byte[] v4Fingerprint)
Derive a 64 bit key-id from a version 4 OpenPGP fingerprint. For v4 keys, the key-id corresponds to the right-most 8 octets of the fingerprint.- Parameters:
v4Fingerprint
- 20 byte fingerprint- Returns:
- key-id
-
longFromLeftMostBytes
public static long longFromLeftMostBytes(byte[] bytes)
Convert the left-most 8 bytes from the given array to a long.- Parameters:
bytes
- bytes- Returns:
- long
-
longFromRightMostBytes
public static long longFromRightMostBytes(byte[] bytes)
Convert the right-most 8 bytes from the given array to a long.- Parameters:
bytes
- bytes- Returns:
- long
-
readKeyID
public static long readKeyID(byte[] bytes)
Read a key-ID from the first 8 octets of the given byte array.- Parameters:
bytes
- byte array- Returns:
- key-ID
-
readKeyID
public static long readKeyID(byte[] bytes, int offset)
Read a key-ID from 8 octets of the given byte array starting at offset.- Parameters:
bytes
- byte arrayoffset
- offset- Returns:
- key-ID
-
writeKeyID
public static void writeKeyID(long keyID, byte[] bytes, int offset)
Write the key-ID encoded as 8 octets to the given byte array, starting at index offset.- Parameters:
keyID
- keyIDbytes
- byte arrayoffset
- starting offset
-
writeKeyID
public static void writeKeyID(long keyID, byte[] bytes)
Write the key-ID to the first 8 octets of the given byte array.- Parameters:
keyID
- keyIDbytes
- byte array
-
prettifyFingerprint
public static java.lang.String prettifyFingerprint(byte[] fingerprint)
-
-