Serializable, DataStructureKeyCertificatepublic class Certificate extends DataStructureImpl
| Modifier and Type | Field | Description |
|---|---|---|
protected byte[] |
_payload |
|
protected int |
_type |
|
static int |
CERTIFICATE_LENGTH_SIGNED_WITH_HASH |
|
static int |
CERTIFICATE_TYPE_HASHCASH |
specifies a Hashcash style certificate
|
static int |
CERTIFICATE_TYPE_HIDDEN |
we should not be used for anything (don't use us in the netDb, in tunnels, or tell others about us)
|
static int |
CERTIFICATE_TYPE_KEY |
|
static int |
CERTIFICATE_TYPE_MULTIPLE |
Contains multiple certs
|
static int |
CERTIFICATE_TYPE_NULL |
Specifies a null certificate type with no payload
|
static int |
CERTIFICATE_TYPE_SIGNED |
Signed with 40-byte Signature and (optional) 32-byte hash
|
static Certificate |
NULL_CERT |
| Constructor | Description |
|---|---|
Certificate() |
|
Certificate(int type,
byte[] payload) |
| Modifier and Type | Method | Description |
|---|---|---|
static Certificate |
create(byte[] data,
int off) |
If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new
|
static Certificate |
create(InputStream in) |
If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new
|
boolean |
equals(Object object) |
|
int |
getCertificateType() |
|
byte[] |
getPayload() |
|
int |
hashCode() |
|
int |
readBytes(byte[] source,
int offset) |
|
void |
readBytes(InputStream in) |
Load up the current object with data from the given stream.
|
void |
setCertificateType(int type) |
|
void |
setPayload(byte[] payload) |
|
int |
size() |
|
KeyCertificate |
toKeyCertificate() |
Up-convert this to a KeyCertificate
|
String |
toString() |
|
int |
writeBytes(byte[] target,
int offset) |
|
void |
writeBytes(OutputStream out) |
Write out the data structure to the stream, using the format defined in the
I2P data structure specification.
|
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArraypublic static final Certificate NULL_CERT
protected int _type
protected byte[] _payload
public static final int CERTIFICATE_TYPE_NULL
public static final int CERTIFICATE_TYPE_HASHCASH
public static final int CERTIFICATE_TYPE_HIDDEN
public static final int CERTIFICATE_TYPE_SIGNED
public static final int CERTIFICATE_LENGTH_SIGNED_WITH_HASH
public static final int CERTIFICATE_TYPE_MULTIPLE
public static final int CERTIFICATE_TYPE_KEY
public Certificate()
public Certificate(int type,
byte[] payload)
IllegalArgumentException - if type < 0public static Certificate create(byte[] data, int off) throws DataFormatException
DataFormatException - if not enough bytespublic static Certificate create(InputStream in) throws DataFormatException, IOException
DataFormatExceptionIOExceptionpublic int getCertificateType()
public void setCertificateType(int type)
IllegalArgumentException - if type < 0IllegalStateException - if already setpublic byte[] getPayload()
public void setPayload(byte[] payload)
IllegalStateException - if already setpublic void readBytes(InputStream in) throws DataFormatException, IOException
DataStructurein - stream to read fromIllegalStateException - if already setDataFormatException - if the data is improperly formattedIOException - if there was a problem reading the streampublic void writeBytes(OutputStream out) throws DataFormatException, IOException
DataStructureout - stream to write toDataFormatException - if the data was incomplete or not yet ready to be writtenIOException - if there was a problem writing to the streampublic int writeBytes(byte[] target,
int offset)
public int readBytes(byte[] source,
int offset)
throws DataFormatException
IllegalStateException - if already setDataFormatExceptionpublic int size()
public KeyCertificate toKeyCertificate() throws DataFormatException
DataFormatException - if cert type != CERTIFICATE_TYPE_KEY