public class MessageWrapper extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
MessageWrapper.OneTimeSession
A single key and tag, for receiving a single message.
|
(package private) static class |
MessageWrapper.WrappedMessage
Wrapper so that we can keep track of the key and tags
for later notification to the SKM
|
| Constructor and Description |
|---|
MessageWrapper() |
| Modifier and Type | Method and Description |
|---|---|
static MessageWrapper.OneTimeSession |
generateSession(RouterContext ctx,
net.i2p.data.Hash localDest,
long expiration,
boolean forceElG)
Create a single key and tag, for receiving a single encrypted message,
and register it with the client's session key manager, to expire in the time specified.
|
static MessageWrapper.OneTimeSession |
generateSession(RouterContext ctx,
long expiration)
Create a single key and tag, for receiving a single encrypted message,
and register it with the client's session key manager, to expire in the time specified.
|
static MessageWrapper.OneTimeSession |
generateSession(RouterContext ctx,
net.i2p.crypto.SessionKeyManager skm,
long expiration,
boolean forceElG)
Create a single key and tag, for receiving a single encrypted message,
and register it with the client's session key manager, to expire in the time specified.
|
(package private) static MessageWrapper.WrappedMessage |
wrap(RouterContext ctx,
I2NPMessage m,
net.i2p.data.Hash from,
RouterInfo to)
Garlic wrap a message from a client or this router, destined for a router,
to hide the contents from the OBEP.
|
static GarlicMessage |
wrap(RouterContext ctx,
I2NPMessage m,
MessageWrapper.OneTimeSession session)
Garlic wrap a message from nobody, destined for an unknown router,
to hide the contents from the IBGW.
|
(package private) static GarlicMessage |
wrap(RouterContext ctx,
I2NPMessage m,
RouterInfo to)
Garlic wrap a message from nobody, destined for a router,
to hide the contents from the OBEP.
|
static GarlicMessage |
wrap(RouterContext ctx,
I2NPMessage m,
net.i2p.data.SessionKey encryptKey,
RatchetSessionTag encryptTag)
Garlic wrap a message from nobody, destined for an unknown router,
to hide the contents from the IBGW.
|
static GarlicMessage |
wrap(RouterContext ctx,
I2NPMessage m,
net.i2p.data.SessionKey encryptKey,
net.i2p.data.SessionTag encryptTag)
Garlic wrap a message from nobody, destined for an unknown router,
to hide the contents from the IBGW.
|
static MessageWrapper.WrappedMessage wrap(RouterContext ctx, I2NPMessage m, net.i2p.data.Hash from, RouterInfo to)
from - must be a local client with a session key manager,
or null to use the router's session key manager.
SessionKeyManager MUST support ElGamal.to - must be ELGAMAL_2048 EncTypestatic GarlicMessage wrap(RouterContext ctx, I2NPMessage m, RouterInfo to)
to - must be ELGAMAL_2048 or ECIES_X25519 EncTypepublic static MessageWrapper.OneTimeSession generateSession(RouterContext ctx, long expiration)
expiration - time from nowpublic static MessageWrapper.OneTimeSession generateSession(RouterContext ctx, net.i2p.data.Hash localDest, long expiration, boolean forceElG)
expiration - time from nowpublic static MessageWrapper.OneTimeSession generateSession(RouterContext ctx, net.i2p.crypto.SessionKeyManager skm, long expiration, boolean forceElG)
expiration - time from nowpublic static GarlicMessage wrap(RouterContext ctx, I2NPMessage m, MessageWrapper.OneTimeSession session)
session - non-nullpublic static GarlicMessage wrap(RouterContext ctx, I2NPMessage m, net.i2p.data.SessionKey encryptKey, net.i2p.data.SessionTag encryptTag)
encryptKey - non-nullencryptTag - non-nullpublic static GarlicMessage wrap(RouterContext ctx, I2NPMessage m, net.i2p.data.SessionKey encryptKey, RatchetSessionTag encryptTag)
encryptKey - non-nullencryptTag - non-null