Package | Description |
---|---|
net.i2p.client |
Interfaces and factories for
the base I2P SDK used to develop applications that communicate
through I2P.
|
net.i2p.client.impl |
Implements the base I2P SDK for developing applications that communicate
through I2P.
|
net.i2p.crypto |
These classes provide a number of low-level cryptographic routines.
|
net.i2p.crypto.x25519 |
DH for X25519.
|
net.i2p.data |
These classes define the common data structures used by the various
I2P protocols.
|
net.i2p.data.i2cp |
The Invisible Internet Client Protocol (I2CP) allows applications simplified access to
the I2P network without requiring them to deal with the issues involved with the
Invisible Internet Network Protocol (I2NP).
|
net.i2p.data.i2np |
This package defines the low-level messages sent between routers,
called the Invisible Internet Network Protocol (I2NP).
|
net.i2p.router |
The I2P router application handles the I2P network communication.
|
net.i2p.router.crypto |
Classes formerly in net.i2p.crypto but moved here as they are only used by the router.
|
net.i2p.router.crypto.ratchet |
Implementation of ECIES-X25519-AEAD-Ratchet (proposal 144).
|
net.i2p.router.message |
Creates and parses garlic messages.
|
net.i2p.router.startup |
The I2P startup package loads the configuration when I2P is started.
|
net.i2p.router.tunnel.pool |
Tunnel creation, tunnel build message handling.
|
Modifier and Type | Method and Description |
---|---|
PrivateKey |
I2PSession.getDecryptionKey()
Deprecated.
this key is unused
|
Modifier and Type | Method and Description |
---|---|
PrivateKey |
I2PSessionImpl.getDecryptionKey()
Deprecated.
this key is unused
|
Modifier and Type | Method and Description |
---|---|
void |
I2CPMessageProducer.createLeaseSet(I2PSessionImpl session,
LeaseSet leaseSet,
SigningPrivateKey signingPriv,
List<PrivateKey> privs)
In response to a RequestLeaseSet Message from the router, send a
CreateLeaseset Message back to the router.
|
Modifier and Type | Method and Description |
---|---|
PrivateKey |
KeyPair.getPrivate() |
Modifier and Type | Method and Description |
---|---|
byte[] |
ElGamalEngine.decrypt(byte[] encrypted,
PrivateKey privateKey)
Decrypt the data
|
static PublicKey |
KeyGenerator.getPublicKey(PrivateKey priv)
Convert a PrivateKey to its corresponding PublicKey.
|
Constructor and Description |
---|
KeyPair(PublicKey publicKey,
PrivateKey privateKey) |
Modifier and Type | Method and Description |
---|---|
static SessionKey |
X25519DH.dh(PrivateKey priv,
PublicKey pub)
DH
|
Modifier and Type | Field and Description |
---|---|
protected PrivateKey |
PrivateKeyFile.privKey |
Modifier and Type | Method and Description |
---|---|
PrivateKey |
BlindData.getAuthPrivKey() |
PrivateKey |
PrivateKeyFile.getPrivKey()
Deprecated.
this key is unused
|
Modifier and Type | Method and Description |
---|---|
void |
EncryptedLeaseSet.setClientPrivateKey(PrivateKey privKey)
Must be set before verify for per-client auth.
|
boolean |
EncryptedLeaseSet.verifySignature(PrivateKey clientKey)
Decrypt if possible, and verify inner sig also.
|
Constructor and Description |
---|
BlindData(I2PAppContext ctx,
Destination dest,
SigType blindType,
String secret,
int authType,
PrivateKey authKey) |
BlindData(I2PAppContext ctx,
SigningPublicKey spk,
SigType blindType,
String secret,
int authType,
PrivateKey authKey) |
PrivateKeyFile(File file,
Destination dest,
PrivateKey pk,
SigningPrivateKey spk) |
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) |
Modifier and Type | Field and Description |
---|---|
protected PrivateKey |
CreateLeaseSetMessage._privateKey |
Modifier and Type | Method and Description |
---|---|
PrivateKey |
BlindingInfoMessage.getPrivateKey() |
PrivateKey |
CreateLeaseSetMessage.getPrivateKey() |
Modifier and Type | Method and Description |
---|---|
List<PrivateKey> |
CreateLeaseSet2Message.getPrivateKeys()
This returns all the keys.
|
Modifier and Type | Method and Description |
---|---|
void |
CreateLeaseSet2Message.addPrivateKey(PrivateKey key)
Add a private key.
|
void |
CreateLeaseSetMessage.setPrivateKey(PrivateKey privateKey) |
Constructor and Description |
---|
BlindingInfoMessage(Destination d,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret) |
BlindingInfoMessage(Hash h,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)
Deprecated.
unimplemented on router side
|
BlindingInfoMessage(SigningPublicKey s,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret) |
BlindingInfoMessage(String h,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)
Deprecated.
unimplemented on router side
|
Constructor and Description |
---|
BuildRequestRecord(RouterContext ctx,
PrivateKey ourKey,
EncryptedBuildRecord encryptedRecord)
Decrypt the data from the specified record, writing the decrypted record into this instance's
data buffer
Caller MUST check that first 16 bytes of our hash matches first 16 bytes of encryptedRecord
before calling this.
|
Modifier and Type | Method and Description |
---|---|
PrivateKey |
LeaseSetKeys.getDecryptionKey()
Decryption key which can open up garlic messages encrypted to the
LeaseSet's public key.
|
PrivateKey |
LeaseSetKeys.getDecryptionKey(EncType type)
Decryption key which can open up garlic messages encrypted to the
LeaseSet's public key.
|
PrivateKey |
KeyManager.getPrivateKey()
Router key
|
Modifier and Type | Method and Description |
---|---|
void |
KeyManager.registerKeys(Destination dest,
SigningPrivateKey leaseRevocationPrivateKey,
PrivateKey endpointDecryptionKey)
Client with a single key
|
void |
KeyManager.setKeys(PublicKey key1,
PrivateKey key2,
SigningPublicKey key3,
SigningPrivateKey key4)
Configure the router's keys.
|
Modifier and Type | Method and Description |
---|---|
void |
KeyManager.registerKeys(Destination dest,
SigningPrivateKey leaseRevocationPrivateKey,
List<PrivateKey> endpointDecryptionKeys)
Client with multiple keys
|
Constructor and Description |
---|
LeaseSetKeys(Destination dest,
SigningPrivateKey revocationKey,
PrivateKey decryptionKey)
Client with a single key
|
Constructor and Description |
---|
LeaseSetKeys(Destination dest,
SigningPrivateKey revocationKey,
List<PrivateKey> decryptionKeys)
Client with multiple keys
|
Modifier and Type | Method and Description |
---|---|
byte[] |
ElGamalAESEngine.decrypt(byte[] data,
PrivateKey targetPrivateKey)
Deprecated.
specify the key manager!
|
byte[] |
ElGamalAESEngine.decrypt(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)
Decrypt the message using the given private key
and using tags from the specified key manager.
|
byte[] |
ElGamalAESEngine.decryptFast(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)
Tags only.
|
byte[] |
ElGamalAESEngine.decryptSlow(byte[] data,
PrivateKey targetPrivateKey,
SessionKeyManager keyManager)
Full ElG only.
|
Modifier and Type | Method and Description |
---|---|
(package private) static PrivateKey |
ECIESAEADEngine.doDH(PrivateKey privkey,
PublicKey pubkey) |
Modifier and Type | Method and Description |
---|---|
CloveSet |
ECIESAEADEngine.decrypt(byte[] data,
PrivateKey elgKey,
PrivateKey ecKey,
MuxedSKM keyManager)
Try to decrypt the message with one or both of the given private keys
|
CloveSet |
MuxedEngine.decrypt(byte[] data,
PrivateKey elgKey,
PrivateKey ecKey,
MuxedSKM keyManager)
Decrypt the message with the given private keys
|
CloveSet |
ECIESAEADEngine.decrypt(byte[] data,
PrivateKey targetPrivateKey,
RatchetSKM keyManager)
Decrypt the message using the given private key
and using tags from the specified key manager.
|
(package private) CloveSet |
ECIESAEADEngine.decryptFast(byte[] data,
PrivateKey targetPrivateKey,
RatchetSKM keyManager)
NSR/ES only.
|
(package private) CloveSet |
ECIESAEADEngine.decryptSlow(byte[] data,
PrivateKey targetPrivateKey,
RatchetSKM keyManager)
NS only.
|
(package private) static PrivateKey |
ECIESAEADEngine.doDH(PrivateKey privkey,
PublicKey pubkey) |
byte[] |
ECIESAEADEngine.encrypt(CloveSet cloves,
PublicKey target,
Destination to,
PrivateKey priv,
RatchetSKM keyManager,
ReplyCallback callback)
Encrypt the data to the target using the given key and deliver the specified tags
No new session key
This is the one called from GarlicMessageBuilder and is the primary entry point.
|
Constructor and Description |
---|
Elg2KeyPair(PublicKey publicKey,
PrivateKey privateKey,
byte[] enc) |
Modifier and Type | Method and Description |
---|---|
(package private) CloveSet |
GarlicMessageParser.getGarlicCloves(GarlicMessage message,
PrivateKey elgKey,
PrivateKey ecKey,
SessionKeyManager skm)
Supports both ELGAMAL_2048 and ECIES_X25519.
|
(package private) CloveSet |
GarlicMessageParser.getGarlicCloves(GarlicMessage message,
PrivateKey encryptionKey,
SessionKeyManager skm)
Supports both ELGAMAL_2048 and ECIES_X25519.
|
Modifier and Type | Field and Description |
---|---|
PrivateKey |
LoadRouterInfoJob.KeyData.privateKey |
Constructor and Description |
---|
KeyData(RouterIdentity ri,
PrivateKey pk,
SigningPrivateKey spk) |
Modifier and Type | Method and Description |
---|---|
BuildRequestRecord |
BuildMessageProcessor.decrypt(TunnelBuildMessage msg,
Hash ourHash,
PrivateKey privKey)
Decrypt the record targetting us, encrypting all of the other records with the included
reply key and IV.
|