| 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 | Internal implementation of the I2P client SDK, providing the client
side of the I2CP protocol for applications communicating through I2P. |
| net.i2p.client.streaming.impl | Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages. |
| net.i2p.crypto | Core cryptographic primitives and algorithms used throughout I2P. |
| 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 I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP). |
| net.i2p.router | The I2P router application handles I2P network communication. |
| net.i2p.router.networkdb.kademlia | Kademlia DHT implementation and floodfill router functionality for I2P. |
| net.i2p.router.transport.udp | The UDP transport (also known as 'SSU' or Secure Semi-reliable UDP transport)
for I2P, allowing I2P messages to be passed over UDP connections. |
| net.i2p.util | Core utility classes and helper functions used throughout the I2P router and applications. |
| Modifier and Type | Method and Description |
|---|---|
SigningPublicKey | I2PSession.getTransientSigningPublicKey()Get the transient signing public key. |
| Modifier and Type | Field and Description |
|---|---|
protected SigningPublicKey | I2PSessionImpl._transientSigningPublicKeytransient signing public key for offline signatures |
| Modifier and Type | Method and Description |
|---|---|
SigningPublicKey | I2PSessionImpl.getTransientSigningPublicKey()Null on error or if not initialized or does not have offline keys. |
| Modifier and Type | Field and Description |
|---|---|
protected SigningPublicKey | Packet._transientSigningPublicKey_transientSigningPublicKey. |
| Modifier and Type | Method and Description |
|---|---|
SigningPublicKey | Connection.getRemoteSPK()The key to verify signatures with. |
SigningPublicKey | Packet.getTransientSPK()Only if an offline signing block was included, else null |
| Modifier and Type | Method and Description |
|---|---|
void | Connection.setRemoteTransientSPK(SigningPublicKey transientSPK) |
boolean | Packet.verifySignature(I2PAppContext ctx,
SigningPublicKey altSPK,
byte[] buffer)Determine whether the signature on the data is valid. |
| Modifier and Type | Method and Description |
|---|---|
static SigningPublicKey | Blinding.blind(SigningPublicKey key,
SigningPrivateKey alpha)Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519. |
static SigningPublicKey | SigUtil.fromJavaKey(DSAPublicKey pk)Convert a Java DSAPublicKey to an I2P DSA public key. |
static SigningPublicKey | SigUtil.fromJavaKey(ECPublicKey pk,
SigType type)Convert a Java ECPublicKey to an I2P SigningPublicKey of the given type. |
static SigningPublicKey | SigUtil.fromJavaKey(EdDSAPublicKey pk,
SigType type)Convert a Java EdDSAPublicKey to an I2P SigningPublicKey. |
static SigningPublicKey | SigUtil.fromJavaKey(PublicKey pk)Use if SigType is unknown. |
static SigningPublicKey | SigUtil.fromJavaKey(PublicKey pk,
SigType type)Use if SigType is known. |
static SigningPublicKey | SigUtil.fromJavaKey(RSAPublicKey pk,
SigType type)Convert a Java RSAPublicKey to an I2P RSA public key of the given type. |
static SigningPublicKey | KeyGenerator.getSigningPublicKey(SigningPrivateKey priv)Convert a SigningPrivateKey to a SigningPublicKey. |
| Modifier and Type | Method and Description |
|---|---|
Map<SigningPublicKey,String> | TrustedUpdate.getKeys()Keys. |
| Modifier and Type | Method and Description |
|---|---|
static SigningPublicKey | Blinding.blind(SigningPublicKey key,
SigningPrivateKey alpha)Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519. |
static String | Blinding.encode(SigningPublicKey key)Encode a public key as a new-format b32 address. |
static String | Blinding.encode(SigningPublicKey key,
boolean requireSecret,
boolean requireAuth)Encode a public key as a new-format b32 address. |
static SigningPrivateKey | Blinding.generateAlpha(I2PAppContext ctx,
SigningPublicKey destspk,
String secret)Generate alpha for current time. |
static SigningPrivateKey | Blinding.generateAlpha(I2PAppContext ctx,
SigningPublicKey destspk,
String secret,
long now)Generate alpha for the given time. |
static DSAPublicKey | SigUtil.toJavaDSAKey(SigningPublicKey pk)Convert an I2P DSA public key to a Java DSAPublicKey. |
static ECPublicKey | SigUtil.toJavaECKey(SigningPublicKey pk)Convert an I2P EC public key to a Java ECPublicKey, with caching. |
static EdDSAPublicKey | SigUtil.toJavaEdDSAKey(SigningPublicKey pk)Convert an I2P EdDSA public key to a Java EdDSAPublicKey, with caching. |
static PublicKey | SigUtil.toJavaKey(SigningPublicKey pk)Convert an I2P SigningPublicKey to a Java PublicKey, dispatching by algorithm. |
static RSAPublicKey | SigUtil.toJavaRSAKey(SigningPublicKey pk)Prefer toJavaKey(SigningPublicKey) for type-generic conversion. |
boolean | TrustedUpdate.verify(File signedFile,
SigningPublicKey signingPublicKey)Verifies the DSA signature of a signed update file. |
boolean | DSAEngine.verifySignature(Signature signature,
byte[] signedData,
int offset,
int size,
SigningPublicKey verifyingKey)Verify using any sig type as of 0.9.12 (DSA only prior to that) |
boolean | DSAEngine.verifySignature(Signature signature,
byte[] signedData,
SigningPublicKey verifyingKey)Verify a signature using any supported signature type. |
boolean | DSAEngine.verifySignature(Signature signature,
Hash hash,
SigningPublicKey verifyingKey)Nonstandard. |
boolean | DSAEngine.verifySignature(Signature signature,
InputStream in,
SigningPublicKey verifyingKey)Verify using DSA-SHA1 ONLY |
boolean | DSAEngine.verifySignature(Signature signature,
SHA1Hash hash,
SigningPublicKey verifyingKey)Verify using DSA-SHA1 ONLY |
boolean | DSAEngine.verifySignature(Signature signature,
SimpleDataStructure hash,
SigningPublicKey verifyingKey)Generic signature type. |
| Modifier and Type | Field and Description |
|---|---|
protected SigningPublicKey | LeaseSet._signingKeyRevocation or blinded signing key. |
protected SigningPublicKey | KeysAndCert._signingKeyPublic signing key. |
protected SigningPublicKey | LeaseSet2._transientSigningPublicKeyTransient signing public key for offline signing. |
| Modifier and Type | Method and Description |
|---|---|
SigningPublicKey | SigningPublicKey.blind(SigningPrivateKey alpha)Only for SigType EdDSA_SHA512_Ed25519 |
static SigningPublicKey | SigningPublicKey.create(byte[] data,
int off)Pull from cache or return new. |
static SigningPublicKey | SigningPublicKey.create(InputStream in)Pull from cache or return new |
SigningPublicKey | BlindData.getBlindedPubKey()Gets the blinded signing public key for the current day. |
SigningPublicKey | LeaseSet.getSigningKey()The revocation key. |
protected SigningPublicKey | DatabaseEntry.getSigningPublicKey()Identical to getDestination().getSigningPublicKey() in LeaseSet,
and getIdentity().getSigningPublicKey() in RouterInfo. |
protected SigningPublicKey | EncryptedLeaseSet.getSigningPublicKey()Overridden to return the blinded key so super.verifySignature() will work. |
SigningPublicKey | KeysAndCert.getSigningPublicKey()Signing public key for this identity. |
SigningPublicKey | LeaseSet2.getTransientSigningKey()Gets the transient public key for offline signing. |
SigningPublicKey | PrivateKeyFile.getTransientSigningPubKey()Get the transient signing public key. |
SigningPublicKey | BlindData.getUnblindedPubKey()Gets the unblinded signing public key. |
SigningPublicKey | SigningPrivateKey.toPublic()Converts this signing private key to its public equivalent. |
(package private) SigningPublicKey | SigningPublicKey.toTypedKey(KeyCertificate kcert)Up-convert this from an untyped (type 0) SPK to a typed SPK based on the Key Cert given. |
| Modifier and Type | Method and Description |
|---|---|
static boolean | PrivateKeyFile.checkSignature(Signature s,
byte[] data,
SigningPublicKey spk)Check a signature against data with a public key. |
static Signature | LeaseSet2.offlineSign(long expires,
SigningPublicKey transientSPK,
SigningPrivateKey priv)Generate a Signature to pass to setOfflineSignature() |
void | PrivateKeyFile.setOfflineData(long expires,
SigningPublicKey transientPub,
Signature sig,
SigningPrivateKey transientPriv)Side effect - zeroes out the current signing private key |
boolean | LeaseSet2.setOfflineSignature(long expires,
SigningPublicKey transientSPK,
Signature offlineSig)Destination must be previously set. |
void | LeaseSet.setSigningKey(SigningPublicKey key)The revocation key. |
void | EncryptedLeaseSet.setSigningKey(SigningPublicKey spk)Overridden to set the blinded key. |
void | LeaseSet2.setSigningKey(SigningPublicKey key)The revocation key. |
void | KeysAndCert.setSigningPublicKey(SigningPublicKey key)Signing public key to set. |
protected boolean | LeaseSet2.verifyOfflineSignature(SigningPublicKey spk)Verify the offline signature with the given key. |
boolean | LeaseSet.verifySignature(SigningPublicKey signingKey)Deprecated. Use verifySignature() instead; this method previously ignored the parameter |
| Constructor and Description |
|---|
BlindData(I2PAppContext ctx,
SigningPublicKey spk,
SigType blindType,
String secret)Creates a new BlindData instance for the given signing public key. |
BlindData(I2PAppContext ctx,
SigningPublicKey spk,
SigType blindType,
String secret,
int authType,
PrivateKey authKey)Creates a new BlindData instance for the given signing public key with authentication. |
KeyCertificate(SigningPublicKey spk)A KeyCertificate with crypto type 0 (ElGamal)
and the signature type and extra data from the given public key. |
KeyCertificate(SigningPublicKey spk,
PublicKey pk)A KeyCertificate with enc type from the given public key,
and the signature type and extra data from the given public key. |
PrivateKeyFile(File file,
PublicKey pubkey,
SigningPublicKey spubkey,
Certificate cert,
PrivateKey pk,
SigningPrivateKey spk)Create a new PrivateKeyFile from individual key components. |
PrivateKeyFile(File file,
PublicKey pubkey,
SigningPublicKey spubkey,
Certificate cert,
PrivateKey pk,
SigningPrivateKey spk,
byte[] padding)Create a new PrivateKeyFile from individual key components with padding. |
| Modifier and Type | Method and Description |
|---|---|
SigningPublicKey | BlindingInfoMessage.getSigningPublicKey()Gets the signing public key for key-type endpoints. |
SigningPublicKey | SessionConfig.getTransientSigningPublicKey()Gets the transient signing public key for offline signing. |
| Modifier and Type | Method and Description |
|---|---|
void | SessionConfig.setOfflineSignature(long expires,
SigningPublicKey transientSPK,
Signature offlineSig)Set the offline signing data. |
| Constructor and Description |
|---|
BlindingInfoMessage(SigningPublicKey s,
SessionId id,
int expiration,
int authType,
SigType blindType,
PrivateKey privKey,
String secret)Creates a BlindingInfoMessage for a signing public key. |
| Modifier and Type | Method and Description |
|---|---|
SigningPublicKey | KeyManager.getSigningPublicKey()Router key |
| Modifier and Type | Method and Description |
|---|---|
BlindData | NetworkDatabaseFacade.getBlindData(SigningPublicKey spk) |
boolean | NetworkDatabaseFacade.removeBlindData(SigningPublicKey spk)For console ConfigKeyringHelper |
void | KeyManager.setKeys(PublicKey key1,
PrivateKey key2,
SigningPublicKey key3,
SigningPrivateKey key4)Configure the router's keys. |
| Modifier and Type | Method and Description |
|---|---|
BlindData | KademliaNetworkDatabaseFacade.getBlindData(SigningPublicKey spk) |
Hash | BlindCache.getBlindedHash(SigningPublicKey spk)The hash to lookup for a SPK known to be blinded. |
BlindData | BlindCache.getData(SigningPublicKey spk)The cached data or null |
BlindData | BlindCache.getReverseData(SigningPublicKey spk)The cached data or null |
boolean | BlindCache.removeBlindData(SigningPublicKey spk)For console ConfigKeyringHelper. |
boolean | KademliaNetworkDatabaseFacade.removeBlindData(SigningPublicKey spk)For console ConfigKeyringHelper |
| Modifier and Type | Method and Description |
|---|---|
static boolean | SSU2Util.validateSig(I2PAppContext ctx,
byte[] prologue,
Hash h,
Hash h2,
byte[] data,
SigningPublicKey spk)Validate the signed relay or peer test data, using
the prologue and hash as the initial data,
and then the provided data which ends with a signature of the specified type. |
| Modifier and Type | Method and Description |
|---|---|
boolean | ByteArrayStream.verifySignature(I2PAppContext ctx,
Signature signature,
SigningPublicKey verifyingKey)Verifies the signature of the written data. |
boolean | ByteArrayStream.verifySignature(Signature signature,
SigningPublicKey verifyingKey)Verifies the signature of the written data. |