public class PrivateKeyFile extends Object
- Destination (387 bytes if no certificate, otherwise longer) - Public key (256 bytes) - Signing Public key (128 bytes) - Cert. type (1 byte) - Cert. length (2 bytes) - Certificate if length != 0 - Private key (256 bytes) - Signing Private key (20 bytes, or length specified by key certificate) Total: 663 or more bytes
Modifier and Type | Field and Description |
---|---|
protected Destination |
dest |
protected File |
file |
protected PrivateKey |
privKey |
protected SigningPrivateKey |
signingPrivKey |
Constructor and Description |
---|
PrivateKeyFile(File file) |
PrivateKeyFile(File file,
Destination dest,
PrivateKey pk,
SigningPrivateKey spk) |
PrivateKeyFile(File file,
I2PClient client) |
PrivateKeyFile(File file,
I2PSession session) |
PrivateKeyFile(File file,
PublicKey pubkey,
SigningPublicKey spubkey,
Certificate cert,
PrivateKey pk,
SigningPrivateKey spk) |
PrivateKeyFile(File file,
PublicKey pubkey,
SigningPublicKey spubkey,
Certificate cert,
PrivateKey pk,
SigningPrivateKey spk,
byte[] padding) |
PrivateKeyFile(InputStream in)
Can't be used for writing
|
PrivateKeyFile(String file) |
Modifier and Type | Method and Description |
---|---|
static boolean |
checkSignature(Signature s,
byte[] data,
SigningPublicKey spk) |
Destination |
createIfAbsent()
Create with the default signature type if nonexistent.
|
Destination |
createIfAbsent(SigType type)
Create with the specified signature type if nonexistent.
|
static String |
estimateHashCashTime(int hashEffort) |
Destination |
getDestination()
If the destination is not set, read it in from the file.
|
PrivateKey |
getPrivKey() |
SigningPrivateKey |
getSigningPrivKey() |
static void |
main(String[] args)
Create a new PrivateKeyFile, or modify an existing one, with various
types of Certificates.
|
I2PSession |
open() |
I2PSession |
open(Properties opts) |
Certificate |
setCertType(int t)
Change cert type - caller must also call write().
|
void |
setDestination(Destination d) |
Certificate |
setHashCashCert(int effort)
change to hashcash cert - caller must also call write()
|
Certificate |
setKeyCert(SigType type)
Change cert type - caller must also call write().
|
Certificate |
setSignedCert(PrivateKeyFile pkf2)
sign this dest by dest found in pkf2 - caller must also call write()
|
String |
toString() |
boolean |
validateKeyPairs()
Verify that the PublicKey matches the PrivateKey, and
the SigningPublicKey matches the SigningPrivateKey.
|
static boolean |
verifySignature(Destination d)
Sample code to verify a 3rd party signature.
|
void |
write()
Copied from I2PClientImpl.createDestination()
|
protected final File file
protected Destination dest
protected PrivateKey privKey
protected SigningPrivateKey signingPrivKey
public PrivateKeyFile(String file)
public PrivateKeyFile(File file)
public PrivateKeyFile(File file, I2PSession session)
public PrivateKeyFile(File file, Destination dest, PrivateKey pk, SigningPrivateKey spk)
IllegalArgumentException
- on mismatch of spubkey and spk typespublic PrivateKeyFile(File file, PublicKey pubkey, SigningPublicKey spubkey, Certificate cert, PrivateKey pk, SigningPrivateKey spk)
IllegalArgumentException
- on mismatch of spubkey and spk typespublic PrivateKeyFile(File file, PublicKey pubkey, SigningPublicKey spubkey, Certificate cert, PrivateKey pk, SigningPrivateKey spk, byte[] padding)
padding
- null OK, must be non-null if spubkey length < 128IllegalArgumentException
- on mismatch of spubkey and spk typespublic PrivateKeyFile(InputStream in) throws I2PSessionException
I2PSessionException
public static void main(String[] args)
public Destination createIfAbsent() throws I2PException, IOException, DataFormatException
public Destination createIfAbsent(SigType type) throws I2PException, IOException, DataFormatException
I2PException
IOException
DataFormatException
public Destination getDestination() throws I2PSessionException, IOException, DataFormatException
public void setDestination(Destination d)
public Certificate setCertType(int t)
public Certificate setKeyCert(SigType type)
public Certificate setHashCashCert(int effort)
public Certificate setSignedCert(PrivateKeyFile pkf2)
public PrivateKey getPrivKey()
public SigningPrivateKey getSigningPrivKey()
public I2PSession open() throws I2PSessionException, IOException
I2PSessionException
IOException
public I2PSession open(Properties opts) throws I2PSessionException, IOException
I2PSessionException
IOException
public void write() throws IOException, DataFormatException
IOException
DataFormatException
public boolean validateKeyPairs()
public static String estimateHashCashTime(int hashEffort)
public static boolean verifySignature(Destination d)
public static boolean checkSignature(Signature s, byte[] data, SigningPublicKey spk)