From 6c8c87b2dd372d7e098bfe0329b035ec1d8d3204 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Mon, 25 Jun 2012 19:29:51 +0000 Subject: [PATCH] javadocs --- core/java/src/net/i2p/crypto/ElGamalAESEngine.java | 7 ++++++- core/java/src/net/i2p/crypto/SessionKeyManager.java | 6 ++++-- .../src/net/i2p/crypto/TransientSessionKeyManager.java | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/java/src/net/i2p/crypto/ElGamalAESEngine.java b/core/java/src/net/i2p/crypto/ElGamalAESEngine.java index 8b6cce5f1d..3aec9e288d 100644 --- a/core/java/src/net/i2p/crypto/ElGamalAESEngine.java +++ b/core/java/src/net/i2p/crypto/ElGamalAESEngine.java @@ -61,7 +61,8 @@ public class ElGamalAESEngine { } /** - * Decrypt the message using the given private key using tags from the default key manager. + * Decrypt the message using the given private key using tags from the default key manager, + * which is the router's key manager. Use extreme care if you aren't the router. * * @deprecated specify the key manager! */ @@ -75,6 +76,10 @@ public class ElGamalAESEngine { * This works according to the * ElGamal+AES algorithm in the data structure spec. * + * Warning - use the correct SessionKeyManager. Clients should instantiate their own. + * Clients using I2PAppContext.sessionKeyManager() may be correlated with the router, + * unless you are careful to use different keys. + * * @return decrypted data or null on failure */ public byte[] decrypt(byte data[], PrivateKey targetPrivateKey, SessionKeyManager keyManager) throws DataFormatException { diff --git a/core/java/src/net/i2p/crypto/SessionKeyManager.java b/core/java/src/net/i2p/crypto/SessionKeyManager.java index 4a9456f7d5..c7af8c9703 100644 --- a/core/java/src/net/i2p/crypto/SessionKeyManager.java +++ b/core/java/src/net/i2p/crypto/SessionKeyManager.java @@ -59,7 +59,8 @@ public class SessionKeyManager { * Associate a new session key with the specified target. Metrics to determine * when to expire that key begin with this call. * - * @deprecated racy + * Racy if called after getCurrentKey() to check for a current session; + * use getCurrentOrNewKey() in that case. */ public void createSession(PublicKey target, SessionKey key) { // nop } @@ -67,7 +68,8 @@ public class SessionKeyManager { /** * Generate a new session key and associate it with the specified target. * - * @deprecated racy + * Racy if called after getCurrentKey() to check for a current session; + * use getCurrentOrNewKey() in that case. */ public SessionKey createSession(PublicKey target) { SessionKey key = KeyGenerator.getInstance().generateSessionKey(); diff --git a/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java b/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java index e31adcada7..bd4758a151 100644 --- a/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java +++ b/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java @@ -243,7 +243,8 @@ public class TransientSessionKeyManager extends SessionKeyManager { * Associate a new session key with the specified target. Metrics to determine * when to expire that key begin with this call. * - * @deprecated racy + * Racy if called after getCurrentKey() to check for a current session; + * use getCurrentOrNewKey() in that case. */ @Override public void createSession(PublicKey target, SessionKey key) { -- GitLab