public class PublicKey extends SimpleDataStructure
Modifier and Type | Field and Description |
---|---|
static int |
KEYSIZE_BYTES |
_data
Constructor and Description |
---|
PublicKey() |
PublicKey(byte[] data) |
PublicKey(EncType type) |
PublicKey(EncType type,
byte[] data) |
PublicKey(int typeCode,
byte[] data)
Unknown type only.
|
PublicKey(String base64Data)
Constructs from base64.
|
Modifier and Type | Method and Description |
---|---|
static void |
clearCache() |
static PublicKey |
create(byte[] data,
int off)
Pull from cache or return new.
|
static PublicKey |
create(InputStream in)
Pull from cache or return new.
|
boolean |
equals(Object obj)
Warning - this returns true for two different classes with the same size
and same data, e.g.
|
byte[] |
getPadding(KeyCertificate kcert)
Get the portion of this (type 0) PK that is really padding based on the Key Cert type given,
if any
|
EncType |
getType() |
int |
getUnknownTypeCode()
Only valid if getType() returns null
|
int |
hashCode()
We assume the data has enough randomness in it, so use the first 4 bytes for speed.
|
int |
length()
The legal length of the byte array in this data structure
|
String |
toString() |
(package private) PublicKey |
toTypedKey(KeyCertificate kcert)
Up-convert this from an untyped (type 0) PK to a typed PK based on the Key Cert given.
|
calculateHash, fromBase64, fromByteArray, getData, read, readBytes, setData, toBase64, toByteArray, writeBytes
public PublicKey()
public PublicKey(EncType type)
type
- if null, type is unknownpublic PublicKey(byte[] data)
data
- must be non-nullpublic PublicKey(EncType type, byte[] data)
type
- if null, type is unknowndata
- must be non-nullpublic PublicKey(int typeCode, byte[] data)
typeCode
- must not match a known type. 1-255data
- must be non-nullpublic PublicKey(String base64Data) throws DataFormatException
base64Data
- a string of base64 data (the output of .toBase64() called
on a prior instance of PublicKeyDataFormatException
public static PublicKey create(byte[] data, int off)
ArrayIndexOutOfBoundsException
- if not enough bytes, FIXME should throw DataFormatExceptionpublic static PublicKey create(InputStream in) throws IOException
IOException
public int length()
SimpleDataStructure
length
in class SimpleDataStructure
public EncType getType()
public int getUnknownTypeCode()
PublicKey toTypedKey(KeyCertificate kcert)
IllegalArgumentException
- if this is already typed to a different typepublic byte[] getPadding(KeyCertificate kcert)
IllegalArgumentException
- if this is already typed to a different typepublic static void clearCache()
public String toString()
toString
in class SimpleDataStructure
public int hashCode()
SimpleDataStructure
hashCode
in class SimpleDataStructure
public boolean equals(Object obj)
SimpleDataStructure
equals
in class SimpleDataStructure