Package | Description |
---|---|
net.i2p |
Core I2P package, contains information about the I2P version and an entry point to access important elements.
|
net.i2p.crypto |
These classes provide a number of low-level cryptographic routines.
|
net.i2p.router |
The I2P router application handles the I2P network communication.
|
net.i2p.router.client |
Implements the router side of the I2CP interface,
which is the API for applications to send and receive data through the router.
|
net.i2p.router.crypto |
Classes formerly in net.i2p.crypto but moved here as they are only used by the router.
|
net.i2p.router.dummy |
Dummy versions of things for testing.
|
net.i2p.router.message |
Creates and parses garlic messages.
|
net.i2p.router.networkdb.kademlia |
The network database, including implementation of floodfills.
|
Modifier and Type | Field and Description |
---|---|
protected SessionKeyManager |
I2PAppContext._sessionKeyManager |
Modifier and Type | Method and Description |
---|---|
SessionKeyManager |
I2PAppContext.sessionKeyManager()
The session key manager which coordinates the sessionKey / sessionTag
data.
|
Modifier and Type | Method and Description |
---|---|
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.
|
Modifier and Type | Method and Description |
---|---|
abstract SessionKeyManager |
ClientManagerFacade.getClientSessionKeyManager(Hash dest) |
Modifier and Type | Method and Description |
---|---|
SessionKeyManager |
ClientManager.getClientSessionKeyManager(Hash dest)
Return the client's SessionKeyManager
Use this instead of the RouterContext.sessionKeyManager()
to prevent correlation attacks across destinations
|
SessionKeyManager |
ClientManagerFacadeImpl.getClientSessionKeyManager(Hash dest)
Return the client's current manager or null if not connected
|
SessionKeyManager |
ClientConnectionRunner.getSessionKeyManager()
current client's sessionkeymanager
|
Modifier and Type | Class and Description |
---|---|
class |
TransientSessionKeyManager
Implement the session key management, but keep everything in memory (don't write
to disk).
|
Modifier and Type | Method and Description |
---|---|
SessionKeyManager |
DummyClientManagerFacade.getClientSessionKeyManager(Hash _dest) |
Modifier and Type | Method and Description |
---|---|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
int numTagsToDeliver,
int lowTagsThreshold,
SessionKeyManager skm)
called by netdb and above
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
int numTagsToDeliver,
SessionKeyManager skm)
called by OCMJH
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
SessionKeyManager skm)
Now unused, since we have to generate a reply token first in OCMOSJ but we don't know if tags are required yet.
|
CloveSet |
GarlicMessageParser.getGarlicCloves(GarlicMessage message,
PrivateKey encryptionKey,
SessionKeyManager skm) |
Modifier and Type | Method and Description |
---|---|
static MessageWrapper.OneTimeSession |
MessageWrapper.generateSession(RouterContext ctx,
SessionKeyManager skm)
Create a single key and tag, for receiving a single encrypted message,
and register it with the given session key manager, to expire in two minutes.
|
Constructor and Description |
---|
MessageWrapper.WrappedMessage(GarlicMessage msg,
SessionKeyManager skm,
PublicKey sentTo,
SessionKey sentKey,
TagSetHandle tsh) |