|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use SessionKey | |
net.i2p.client | Implements the base I2P SDK for developing applications that communicate through I2P. |
net.i2p.client.streaming | Implements a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages. |
net.i2p.crypto | |
net.i2p.data.i2np | |
net.i2p.router.message | |
net.i2p.router.transport.tcp | Implements the transport for communicating with other routers via TCP/IP. |
net.i2p.router.tunnel | |
net.i2p.router.tunnel.pool |
Uses of SessionKey in net.i2p.client |
Methods in net.i2p.client that return SessionKey | |
SessionKey |
MessageState.getKey()
|
SessionKey |
MessageState.getNewKey()
|
Methods in net.i2p.client with parameters of type SessionKey | |
void |
MessageState.setKey(SessionKey key)
|
void |
MessageState.setNewKey(SessionKey key)
|
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
SessionKey keyUsed,
java.util.Set tagsSent)
|
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
java.util.Set tagsSent)
|
abstract boolean |
I2PSessionImpl.sendMessage(Destination dest,
byte[] payload,
SessionKey keyUsed,
java.util.Set tagsSent)
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
SessionKey keyUsed,
java.util.Set tagsSent)
Like sendMessage above, except the key used and the tags sent are exposed to the application. |
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
java.util.Set tagsSent)
|
void |
I2CPMessageProducer.sendMessage(I2PSessionImpl session,
Destination dest,
long nonce,
byte[] payload,
SessionTag tag,
SessionKey key,
java.util.Set tags,
SessionKey newKey)
Package up and send the payload to the router for delivery |
Uses of SessionKey in net.i2p.client.streaming |
Methods in net.i2p.client.streaming that return SessionKey | |
SessionKey |
PacketLocal.getKeyUsed()
|
Methods in net.i2p.client.streaming with parameters of type SessionKey | |
void |
PacketLocal.setKeyUsed(SessionKey key)
|
boolean |
ConnectionManager.ping(Destination peer,
long timeoutMs,
boolean blocking,
SessionKey keyToUse,
java.util.Set tagsToSend,
ConnectionManager.PingNotifier notifier)
|
Uses of SessionKey in net.i2p.crypto |
Methods in net.i2p.crypto that return SessionKey | |
SessionKey |
TransientSessionKeyManager.getCurrentKey(PublicKey target)
Retrieve the session key currently associated with encryption to the target, or null if a new session key should be generated. |
SessionKey |
TransientSessionKeyManager.consumeTag(SessionTag tag)
Determine if we have received a session key associated with the given session tag, and if so, discard it (but keep track for frequent dups) and return the decryption key it was received with (via tagsReceived(...)). |
SessionKey |
TransientSessionKeyManager.OutboundSession.getCurrentKey()
|
SessionKey |
TransientSessionKeyManager.TagSet.getAssociatedKey()
|
SessionKey |
SessionKeyManager.getCurrentKey(PublicKey target)
Retrieve the session key currently associated with encryption to the target, or null if a new session key should be generated. |
SessionKey |
SessionKeyManager.createSession(PublicKey target)
Generate a new session key and associate it with the specified target. |
SessionKey |
SessionKeyManager.consumeTag(SessionTag tag)
Determine if we have received a session key associated with the given session tag, and if so, discard it (but keep track for frequent dups) and return the decryption key it was received with (via tagsReceived(...)). |
SessionKey |
KeyGenerator.generateSessionKey()
Generate a private 256 bit session key |
SessionKey |
DHSessionKeyBuilder.getSessionKey()
Retrieve the session key, calculating it if necessary (and if possible). |
Methods in net.i2p.crypto with parameters of type SessionKey | |
void |
ElGamalAESEngineTest.runBasicElGamalTest(SessionKey key,
PublicKey pubKey,
PrivateKey privKey)
|
void |
TransientSessionKeyManager.createSession(PublicKey target,
SessionKey key)
Associate a new session key with the specified target. |
SessionTag |
TransientSessionKeyManager.consumeNextAvailableTag(PublicKey target,
SessionKey key)
Retrieve the next available session tag for identifying the use of the given key when communicating with the target. |
int |
TransientSessionKeyManager.getAvailableTags(PublicKey target,
SessionKey key)
Determine (approximately) how many available session tags for the current target have been confirmed and are available |
long |
TransientSessionKeyManager.getAvailableTimeLeft(PublicKey target,
SessionKey key)
Determine how long the available tags will be available for before expiring, in milliseconds |
void |
TransientSessionKeyManager.tagsDelivered(PublicKey target,
SessionKey key,
java.util.Set sessionTags)
Take note of the fact that the given sessionTags associated with the key for encryption to the target have definitely been received at the target (aka call this method after receiving an ack to a message delivering them) |
void |
TransientSessionKeyManager.tagsReceived(SessionKey key,
java.util.Set sessionTags)
Accept the given tags and associate them with the given key for decryption |
void |
TransientSessionKeyManager.OutboundSession.setCurrentKey(SessionKey key)
|
void |
SessionKeyManager.createSession(PublicKey target,
SessionKey key)
Associate a new session key with the specified target. |
SessionTag |
SessionKeyManager.consumeNextAvailableTag(PublicKey target,
SessionKey key)
Retrieve the next available session tag for identifying the use of the given key when communicating with the target. |
int |
SessionKeyManager.getAvailableTags(PublicKey target,
SessionKey key)
Determine (approximately) how many available session tags for the current target have been confirmed and are available |
long |
SessionKeyManager.getAvailableTimeLeft(PublicKey target,
SessionKey key)
Determine how long the available tags will be available for before expiring, in milliseconds |
void |
SessionKeyManager.tagsDelivered(PublicKey target,
SessionKey key,
java.util.Set sessionTags)
Take note of the fact that the given sessionTags associated with the key for encryption to the target have definitely been received at the target (aka call this method after receiving an ack to a message delivering them) |
void |
SessionKeyManager.tagsReceived(SessionKey key,
java.util.Set sessionTags)
Accept the given tags and associate them with the given key for decryption |
Hash |
HMACSHA256Generator.calculate(SessionKey key,
byte[] data)
This should calculate the HMAC/SHA256, but it DOESNT. |
(package private) byte[] |
ElGamalAESEngine.decryptNewSession(byte[] data,
PrivateKey targetPrivateKey,
java.util.Set foundTags,
SessionKey usedKey,
SessionKey foundKey)
scenario 1: Begin with 222 bytes, ElG encrypted, containing: - 32 byte SessionKey - 32 byte pre-IV for the AES - 158 bytes of random padding Then encrypt with AES using that session key and the first 16 bytes of the SHA256 of the pre-IV, using the decryptAESBlock method & structure. |
(package private) byte[] |
ElGamalAESEngine.decryptExistingSession(byte[] data,
SessionKey key,
PrivateKey targetPrivateKey,
java.util.Set foundTags,
SessionKey usedKey,
SessionKey foundKey)
scenario 2: The data begins with 32 byte session tag, which also serves as the preIV. |
(package private) byte[] |
ElGamalAESEngine.decryptAESBlock(byte[] encrypted,
SessionKey key,
byte[] iv,
byte[] sentTag,
java.util.Set foundTags,
SessionKey foundKey)
Decrypt the AES data with the session key and IV. |
(package private) byte[] |
ElGamalAESEngine.decryptAESBlock(byte[] encrypted,
int offset,
int encryptedLen,
SessionKey key,
byte[] iv,
byte[] sentTag,
java.util.Set foundTags,
SessionKey foundKey)
|
byte[] |
ElGamalAESEngine.encrypt(byte[] data,
PublicKey target,
SessionKey key,
java.util.Set tagsForDelivery,
SessionTag currentTag,
SessionKey newKey,
long paddedSize)
Encrypt the unencrypted data to the target. |
byte[] |
ElGamalAESEngine.encrypt(byte[] data,
PublicKey target,
SessionKey key,
java.util.Set tagsForDelivery,
SessionTag currentTag,
long paddedSize)
Encrypt the data to the target using the given key and deliver the specified tags |
byte[] |
ElGamalAESEngine.encrypt(byte[] data,
PublicKey target,
SessionKey key,
java.util.Set tagsForDelivery,
long paddedSize)
Encrypt the data to the target using the given key and deliver the specified tags |
byte[] |
ElGamalAESEngine.encrypt(byte[] data,
PublicKey target,
SessionKey key,
long paddedSize)
Encrypt the data to the target using the given key delivering no tags |
(package private) byte[] |
ElGamalAESEngine.encryptNewSession(byte[] data,
PublicKey target,
SessionKey key,
java.util.Set tagsForDelivery,
SessionKey newKey,
long paddedSize)
scenario 1: Begin with 222 bytes, ElG encrypted, containing: - 32 byte SessionKey - 32 byte pre-IV for the AES - 158 bytes of random padding Then encrypt with AES using that session key and the first 16 bytes of the SHA256 of the pre-IV: - 2 byte integer specifying the # of session tags - that many 32 byte session tags - 4 byte integer specifying data.length - SHA256 of data - 1 byte flag that, if == 1, is followed by a new SessionKey - data - random bytes, padding the total size to greater than paddedSize with a mod 16 = 0 |
(package private) byte[] |
ElGamalAESEngine.encryptExistingSession(byte[] data,
PublicKey target,
SessionKey key,
java.util.Set tagsForDelivery,
SessionTag currentTag,
SessionKey newKey,
long paddedSize)
scenario 2: Begin with 32 byte session tag, which also serves as the preIV. |
(package private) byte[] |
ElGamalAESEngine.encryptAESBlock(byte[] data,
SessionKey key,
byte[] iv,
java.util.Set tagsForDelivery,
SessionKey newKey,
long paddedSize)
For both scenarios, this method encrypts the AES area using the given key, iv and making sure the resulting data is at least as long as the paddedSize and also mod 16 bytes. |
(package private) byte[] |
ElGamalAESEngine.encryptAESBlock(byte[] data,
SessionKey key,
byte[] iv,
java.util.Set tagsForDelivery,
SessionKey newKey,
long paddedSize,
int prefixBytes)
|
void |
CryptixAESEngine.encrypt(byte[] payload,
int payloadIndex,
byte[] out,
int outIndex,
SessionKey sessionKey,
byte[] iv,
int length)
|
void |
CryptixAESEngine.decrypt(byte[] payload,
int payloadIndex,
byte[] out,
int outIndex,
SessionKey sessionKey,
byte[] iv,
int length)
|
void |
CryptixAESEngine.encryptBlock(byte[] payload,
int inIndex,
SessionKey sessionKey,
byte[] out,
int outIndex)
|
void |
CryptixAESEngine.decryptBlock(byte[] payload,
int inIndex,
SessionKey sessionKey,
byte[] rv,
int outIndex)
decrypt the data with the session key provided |
void |
AESEngine.encrypt(byte[] payload,
int payloadIndex,
byte[] out,
int outIndex,
SessionKey sessionKey,
byte[] iv,
int length)
Encrypt the payload with the session key |
byte[] |
AESEngine.safeEncrypt(byte[] payload,
SessionKey sessionKey,
byte[] iv,
int paddedSize)
|
byte[] |
AESEngine.safeDecrypt(byte[] payload,
SessionKey sessionKey,
byte[] iv)
|
void |
AESEngine.decrypt(byte[] payload,
int payloadIndex,
byte[] out,
int outIndex,
SessionKey sessionKey,
byte[] iv,
int length)
Decrypt the data with the session key |
void |
AESEngine.encryptBlock(byte[] payload,
int inIndex,
SessionKey sessionKey,
byte[] out,
int outIndex)
|
void |
AESEngine.decryptBlock(byte[] payload,
int inIndex,
SessionKey sessionKey,
byte[] rv,
int outIndex)
decrypt the data with the session key provided |
Constructors in net.i2p.crypto with parameters of type SessionKey | |
TransientSessionKeyManager.OutboundSession(PublicKey target,
SessionKey curKey,
long established,
long lastUsed,
java.util.List tagSets)
|
|
TransientSessionKeyManager.TagSet(java.util.Set tags,
SessionKey key,
long date)
|
|
AESOutputStream(I2PAppContext context,
java.io.OutputStream source,
SessionKey key,
byte[] iv)
|
|
AESInputStream(I2PAppContext context,
java.io.InputStream source,
SessionKey key,
byte[] iv)
|
Uses of SessionKey in net.i2p.data.i2np |
Methods in net.i2p.data.i2np that return SessionKey | |
SessionKey |
TunnelSessionKey.getKey()
|
SessionKey |
TunnelCreateMessage.getLayerKey()
|
SessionKey |
TunnelCreateMessage.getIVKey()
|
SessionKey |
TunnelCreateMessage.getReplyKey()
|
SessionKey |
DeliveryInstructions.getEncryptionKey()
|
Methods in net.i2p.data.i2np with parameters of type SessionKey | |
void |
TunnelSessionKey.setKey(SessionKey key)
|
void |
TunnelCreateMessage.setLayerKey(SessionKey key)
|
void |
TunnelCreateMessage.setIVKey(SessionKey key)
|
void |
TunnelCreateMessage.setReplyKey(SessionKey key)
|
void |
DeliveryInstructions.setEncryptionKey(SessionKey key)
|
Constructors in net.i2p.data.i2np with parameters of type SessionKey | |
TunnelSessionKey(SessionKey key)
|
Uses of SessionKey in net.i2p.router.message |
Methods in net.i2p.router.message with parameters of type SessionKey | |
(package private) static GarlicMessage |
OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
PublicKey recipientPK,
Payload data,
Hash from,
Destination dest,
SessionKey wrappedKey,
java.util.Set wrappedTags,
boolean requireAck,
LeaseSet bundledReplyLeaseSet)
Build a garlic message that will be delivered to the router on which the target is located. |
(package private) static GarlicMessage |
OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
PublicKey recipientPK,
PayloadGarlicConfig dataClove,
Hash from,
Destination dest,
SessionKey wrappedKey,
java.util.Set wrappedTags,
boolean requireAck,
LeaseSet bundledReplyLeaseSet)
Allow the app to specify the data clove directly, which enables OutboundClientMessage to resend the same payload (including expiration and unique id) in different garlics (down different tunnels) |
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
java.util.Set wrappedTags)
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
java.util.Set wrappedTags,
int numTagsToDeliver)
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
java.util.Set wrappedTags,
PublicKey target,
SessionKey encryptKey,
SessionTag encryptTag)
|
Constructors in net.i2p.router.message with parameters of type SessionKey | |
SendGarlicJob(RouterContext ctx,
GarlicConfig config,
Job onSend,
Job onSendFailed,
ReplyJob onReply,
Job onReplyFailed,
long timeoutMs,
int priority,
MessageSelector replySelector,
SessionKey wrappedKey,
java.util.Set wrappedTags)
|
Uses of SessionKey in net.i2p.router.transport.tcp |
Methods in net.i2p.router.transport.tcp that return SessionKey | |
SessionKey |
ConnectionTagManager.getKey(Hash peer)
|
SessionKey |
ConnectionTagManager.getKey(ByteArray tag)
|
Methods in net.i2p.router.transport.tcp with parameters of type SessionKey | |
void |
ConnectionTagManager.replaceTag(Hash peer,
ByteArray newTag,
SessionKey key)
Update the tag associated with a peer, dropping the old one |
Uses of SessionKey in net.i2p.router.tunnel |
Methods in net.i2p.router.tunnel that return SessionKey | |
SessionKey |
HopConfig.getLayerKey()
what key should we use to encrypt the layer before passing it on? |
SessionKey |
HopConfig.getIVKey()
what key should we use to encrypt the preIV before passing it on? |
Methods in net.i2p.router.tunnel with parameters of type SessionKey | |
void |
HopConfig.setLayerKey(SessionKey key)
|
void |
HopConfig.setIVKey(SessionKey key)
|
Uses of SessionKey in net.i2p.router.tunnel.pool |
Constructors in net.i2p.router.tunnel.pool with parameters of type SessionKey | |
SendGarlicMessageJob(RouterContext ctx,
I2NPMessage payload,
RouterInfo target,
MessageSelector selector,
ReplyJob onReply,
Job onTimeout,
SessionKey sentKey,
java.util.Set sentTags)
|
|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |