Packages that use SigningPublicKey
Package
Description
Interfaces and factories for the base I2P SDK used to develop applications that communicate through I2P.
Internal implementation of the I2P client SDK - the client side of the Invisible Internet Client Protocol (I2CP), separating implementation from the interfaces in
net.i2p.client. Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages.
Core cryptographic primitives used throughout I2P: symmetric ciphers (AES, ChaCha20), hashes (SHA-1, SHA-256, SHA-384, SHA-512), HMAC and HKDF key derivation, the ElGamal and DSA/EdDSA/RedDSA engines, key and certificate utilities, and the entropy harvester.
Common data structures used by the I2P protocols: Destination, LeaseSet, PublicKey, Signature, Certificate and their friends.
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).
The I2P router application handles I2P network communication.
Router-specific cryptography: ElGamal+AES garlic encryption (ElGamalAESEngine), session key and tag caching for repeated peer communication (TransientSessionKeyManager), router-family shared keys (FamilyKeyCrypto), and the ratchet and pqc subpackages.
The Kademlia distributed hash table (DHT) network database: lookup, store and explore jobs, the data store, the floodfill variants, and lookup throttling.
The I2P startup package loads configuration when I2P is started.
SSU2, the UDP transport: datagram sessions with Holepunch peer discovery, plus the older SSU compatibility code.
General utility classes shared across the core libraries and the router.
Uses of SigningPublicKey in net.i2p.client
Methods in net.i2p.client that return SigningPublicKeyModifier and TypeMethodDescriptionI2PSession.getTransientSigningPublicKey()Get the transient signing public key.Uses of SigningPublicKey in net.i2p.client.impl
Fields in net.i2p.client.impl declared as SigningPublicKeyModifier and TypeFieldDescriptionprivate final SigningPublicKeyRequestLeaseSetMessageHandler.LeaseInfo._signingPubKeyThe signing public key of the destination.protected SigningPublicKeyI2PSessionImpl._transientSigningPublicKeyTransient signing public key for offline signatures.Methods in net.i2p.client.impl that return SigningPublicKeyModifier and TypeMethodDescriptionRequestLeaseSetMessageHandler.LeaseInfo.getSigningPublicKey()Signing public key; null for LS2.I2PSessionImpl.getTransientSigningPublicKey()Null on error or if not initialized or does not have offline keys.Uses of SigningPublicKey in net.i2p.client.streaming.impl
Fields in net.i2p.client.streaming.impl declared as SigningPublicKeyModifier and TypeFieldDescriptionprotected SigningPublicKeyPacket._transientSigningPublicKeyEphemeral signing public key taken from the offline signing block.private SigningPublicKeyConnection._transientSPKTransient signing key for this connection, or null if not using offline keys.Methods in net.i2p.client.streaming.impl that return SigningPublicKeyModifier and TypeMethodDescriptionConnection.getRemoteSPK()The key to verify signatures with.Packet.getTransientSPK()Transient signing public key, only if an offline signing block was included, else null.Methods in net.i2p.client.streaming.impl with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionprivate booleanPacket.checkOfflineSignature(I2PAppContext ctx, SigningPublicKey spk) Check the offline signature block, which the session key signs over the expiry and the transient key.private static booleanPacket.keyTypeAvailable(SigningPublicKey spk) Whether the router can sign with this key type.private voidPacket.logNoKeyType(I2PAppContext ctx, SigningPublicKey spk) Log once that a signature key type is unavailable.voidConnection.setRemoteTransientSPK(SigningPublicKey transientSPK) Transient signing public key of the remote peer.booleanPacket.verifySignature(I2PAppContext ctx, SigningPublicKey altSPK, byte[] buffer) Determine whether the signature on the data is valid.private booleanPacket.verifyWithKey(I2PAppContext ctx, SigningPublicKey spk, byte[] buffer) Rebuild the packet as it was signed and check the signature against it.Uses of SigningPublicKey in net.i2p.crypto
Fields in net.i2p.crypto with type parameters of type SigningPublicKeyModifier and TypeFieldDescriptionprivate static final Map<SigningPublicKey, ECPublicKey> SigUtil._ECPubkeyCacheConverted EC public keys, by signing key.private static final Map<SigningPublicKey, EdDSAPublicKey> SigUtil._EdPubkeyCacheConverted EdDSA public keys, by signing key.private final Map<SigningPublicKey, String> TrustedUpdate._trustedKeysThe trusted keys, by signing key, named by signer.Methods in net.i2p.crypto that return SigningPublicKeyModifier and TypeMethodDescriptionstatic SigningPublicKeyBlinding.blind(SigningPublicKey key, SigningPrivateKey alpha) Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519.static SigningPublicKeySigUtil.fromJavaKey(DSAPublicKey pk) Convert a Java DSAPublicKey to an I2P DSA public key.static SigningPublicKeySigUtil.fromJavaKey(ECPublicKey pk, SigType type) Convert a Java ECPublicKey to an I2P SigningPublicKey of the given type.static SigningPublicKeySigUtil.fromJavaKey(RSAPublicKey pk, SigType type) Convert a Java RSAPublicKey to an I2P RSA public key of the given type.static SigningPublicKeySigUtil.fromJavaKey(PublicKey pk) Use if SigType is unknown.static SigningPublicKeySigUtil.fromJavaKey(PublicKey pk, SigType type) Use if SigType is known.static SigningPublicKeySigUtil.fromJavaKey(EdDSAPublicKey pk, SigType type) Convert a Java EdDSAPublicKey to an I2P SigningPublicKey.static SigningPublicKeyKeyGenerator.getSigningPublicKey(SigningPrivateKey priv) Convert a SigningPrivateKey to a SigningPublicKey.Methods in net.i2p.crypto that return types with arguments of type SigningPublicKeyModifier and TypeMethodDescriptionTrustedUpdate.getKeys()Returns the signing keys whose releases this router accepts, in an unmodifiable view.Methods in net.i2p.crypto with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionprivate booleanDSAEngine.altVerifySig(Signature signature, byte[] data, int offset, int len, SigningPublicKey verifyingKey) Generic verify any type.private booleanDSAEngine.altVerifySigRaw(Signature signature, SimpleDataStructure hash, SigningPublicKey verifyingKey) Generic raw verify any typeprivate booleanDSAEngine.altVerifySigSHA1(Signature signature, byte[] data, int offset, int len, SigningPublicKey verifyingKey) Alternate toDSAEngine.verifySignature(Signature, byte[], int, int, SigningPublicKey)using java.security libraries.static SigningPublicKeyBlinding.blind(SigningPublicKey key, SigningPrivateKey alpha) Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519.private static ECPublicKeySigUtil.cvtToJavaECKey(SigningPublicKey pk) Convert an I2P EC public key to a Java ECPublicKey without caching.private static EdDSAPublicKeySigUtil.cvtToJavaEdDSAKey(SigningPublicKey pk) Convert an I2P EdDSA public key to a Java EdDSAPublicKey without caching.static StringBlinding.encode(SigningPublicKey key) Encode a public key as a new-format b32 address.static StringBlinding.encode(SigningPublicKey key, boolean requireSecret, boolean requireAuth) Encode a public key as a new-format b32 address.static SigningPrivateKeyBlinding.generateAlpha(I2PAppContext ctx, SigningPublicKey destspk, String secret) Generate alpha for current time.static SigningPrivateKeyBlinding.generateAlpha(I2PAppContext ctx, SigningPublicKey destspk, String secret, long now) Generate alpha for the given time.static DSAPublicKeySigUtil.toJavaDSAKey(SigningPublicKey pk) Convert an I2P DSA public key to a Java DSAPublicKey.static ECPublicKeySigUtil.toJavaECKey(SigningPublicKey pk) Convert an I2P EC public key to a Java ECPublicKey, with caching.static EdDSAPublicKeySigUtil.toJavaEdDSAKey(SigningPublicKey pk) Convert an I2P EdDSA public key to a Java EdDSAPublicKey, with caching.static PublicKeySigUtil.toJavaKey(SigningPublicKey pk) Convert an I2P SigningPublicKey to a Java PublicKey, dispatching by algorithm.static RSAPublicKeySigUtil.toJavaRSAKey(SigningPublicKey pk) Prefer toJavaKey(SigningPublicKey) for type-generic conversion.booleanTrustedUpdate.verify(File signedFile, SigningPublicKey signingPublicKey) Verifies the DSA signature of a signed update file.private booleanDSAEngine.verifySig(Signature signature, SimpleDataStructure hash, SigningPublicKey verifyingKey) Verify using DSA-SHA1 or Syndie DSA-SHA256 ONLY.booleanDSAEngine.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).booleanDSAEngine.verifySignature(Signature signature, byte[] signedData, SigningPublicKey verifyingKey) Verify a signature using any supported signature type.booleanDSAEngine.verifySignature(Signature signature, InputStream in, SigningPublicKey verifyingKey) Verify using DSA-SHA1 ONLY.booleanDSAEngine.verifySignature(Signature signature, SHA1Hash hash, SigningPublicKey verifyingKey) Verify using DSA-SHA1 ONLY.booleanDSAEngine.verifySignature(Signature signature, Hash hash, SigningPublicKey verifyingKey) Nonstandard.booleanDSAEngine.verifySignature(Signature signature, SimpleDataStructure hash, SigningPublicKey verifyingKey) Generic signature type.Uses of SigningPublicKey in net.i2p.data
Fields in net.i2p.data declared as SigningPublicKeyModifier and TypeFieldDescriptionprivate SigningPublicKeyBlindData._blindSPKThe blinded signing key, once calculated.private final SigningPublicKeyBlindData._clearSPKThe clear signing key of the destination.protected SigningPublicKeyKeysAndCert._signingKeyPublic signing key.protected SigningPublicKeyLeaseSet._signingKeyRevocation or blinded signing key.private SigningPublicKeyPrivateKeyFile._transientSigningPubKeyThe transient public signing key.protected SigningPublicKeyLeaseSet2._transientSigningPublicKeyTransient signing public key for offline signing.private SigningPublicKeyEncryptedLeaseSet._unblindedSPKTo decrypt with if we don't have the full destination.Fields in net.i2p.data with type parameters of type SigningPublicKeyModifier and TypeFieldDescriptionprivate static final Map<SigningPublicKey, Destination> Destination._cacheDestinations by signing key.private static final SDSCache<SigningPublicKey> SigningPublicKey._cacheShared cache of parsed keys.Methods in net.i2p.data that return SigningPublicKeyModifier and TypeMethodDescriptionprivate SigningPublicKeyEncryptedLeaseSet.blind(SigningPublicKey spk) Generate blinded pubkey from the unblinded pubkey in the destination, which must have been previously set.SigningPublicKey.blind(SigningPrivateKey alpha) Only for SigType EdDSA_SHA512_Ed25519.static SigningPublicKeySigningPublicKey.create(byte[] data, int off) Pull from cache or return new.static SigningPublicKeySigningPublicKey.create(InputStream in) Pull from cache or return new.BlindData.getBlindedPubKey()Gets the blinded signing public key for the current day.LeaseSet.getSigningKey()The revocation key.protected SigningPublicKeyDatabaseEntry.getSigningPublicKey()Identical to getDestination().DatabaseEntry.getSigningPublicKey()in LeaseSet, and getIdentity().getSigningPublicKey() in RouterInfo.protected SigningPublicKeyEncryptedLeaseSet.getSigningPublicKey()Overridden to return the blinded key so super.EncryptedLeaseSet.verifySignature()will work.KeysAndCert.getSigningPublicKey()Signing public key for this identity.LeaseSet2.getTransientSigningKey()Transient public key for offline signing.PrivateKeyFile.getTransientSigningPubKey()Transient signing public key.BlindData.getUnblindedPubKey()Gets the unblinded signing public key.SigningPrivateKey.toPublic()Converts this signing private key to its public equivalent.(package private) SigningPublicKeySigningPublicKey.toTypedKey(KeyCertificate kcert) Up-convert this from an untyped (type 0) SPK to a typed SPK based on the Key Cert given.Methods in net.i2p.data with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionprivate SigningPublicKeyEncryptedLeaseSet.blind(SigningPublicKey spk) Generate blinded pubkey from the unblinded pubkey in the destination, which must have been previously set.static booleanPrivateKeyFile.checkSignature(Signature s, byte[] data, SigningPublicKey spk) Check a signature against data with a public key.static SignatureLeaseSet2.offlineSign(long expires, SigningPublicKey transientSPK, SigningPrivateKey priv) Generate a Signature to pass toLeaseSet2.setOfflineSignature(long, SigningPublicKey, Signature).voidPrivateKeyFile.setOfflineData(long expires, SigningPublicKey transientPub, Signature sig, SigningPrivateKey transientPriv) Side effect - zeroes out the current signing private key.booleanLeaseSet2.setOfflineSignature(long expires, SigningPublicKey transientSPK, Signature offlineSig) Destination must be previously set.voidEncryptedLeaseSet.setSigningKey(SigningPublicKey spk) Overridden to set the blinded key.voidLeaseSet.setSigningKey(SigningPublicKey key) The revocation key.voidLeaseSet2.setSigningKey(SigningPublicKey key) The revocation key.voidKeysAndCert.setSigningPublicKey(SigningPublicKey key) Signing public key to set.protected booleanLeaseSet2.verifyOfflineSignature(SigningPublicKey spk) Verify the offline signature with the given key.Constructors in net.i2p.data with parameters of type SigningPublicKeyModifierConstructorDescriptionBlindData(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.privateDestination(PublicKey pk, SigningPublicKey sk, Certificate c, byte[] padding) Creates a destination from its components.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.Uses of SigningPublicKey in net.i2p.data.i2cp
Fields in net.i2p.data.i2cp declared as SigningPublicKeyModifier and TypeFieldDescriptionprivate SigningPublicKeyBlindingInfoMessage._pubkeyThe blinded signing public key.Methods in net.i2p.data.i2cp that return SigningPublicKeyModifier and TypeMethodDescriptionBlindingInfoMessage.getSigningPublicKey()Gets the signing public key for key-type endpoints.SessionConfig.getTransientSigningPublicKey()Gets the transient signing public key for offline signing.Methods in net.i2p.data.i2cp with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionvoidSessionConfig.setOfflineSignature(long expires, SigningPublicKey transientSPK, Signature offlineSig) Set the offline signing data.Constructors in net.i2p.data.i2cp with parameters of type SigningPublicKeyModifierConstructorDescriptionBlindingInfoMessage(SigningPublicKey s, SessionId id, int expiration, int authType, SigType blindType, PrivateKey privKey, String secret) Creates a BlindingInfoMessage for a signing public key.Uses of SigningPublicKey in net.i2p.router
Fields in net.i2p.router declared as SigningPublicKeyModifier and TypeFieldDescriptionprivate SigningPublicKeyKeyManager._signingPublicKeyOur router's signing public key.Methods in net.i2p.router that return SigningPublicKeyMethods in net.i2p.router with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionNetworkDatabaseFacade.getBlindData(SigningPublicKey spk) Look up the cached BlindData for the given key.booleanNetworkDatabaseFacade.removeBlindData(SigningPublicKey spk) For console ConfigKeyringHelper.voidKeyManager.setKeys(PublicKey key1, PrivateKey key2, SigningPublicKey key3, SigningPrivateKey key4) Configure the router's keys.Uses of SigningPublicKey in net.i2p.router.crypto
Fields in net.i2p.router.crypto declared as SigningPublicKeyModifier and TypeFieldDescriptionprivate final SigningPublicKeyFamilyKeyCrypto._pubkeyOur family signing public key.Fields in net.i2p.router.crypto with type parameters of type SigningPublicKeyModifier and TypeFieldDescriptionprivate final Map<String, SigningPublicKey> FamilyKeyCrypto._knownKeysThe family signing keys, by family name.Methods in net.i2p.router.crypto that return SigningPublicKeyUses of SigningPublicKey in net.i2p.router.networkdb.kademlia
Fields in net.i2p.router.networkdb.kademlia with type parameters of type SigningPublicKeyModifier and TypeFieldDescriptionprivate final ConcurrentHashMap<SigningPublicKey, BlindData> BlindCache._cacheThe blind data, by our unblinded signing key.private final ConcurrentHashMap<SigningPublicKey, BlindData> BlindCache._reverseCacheThe blind data, by the blinded peer signing key.Methods in net.i2p.router.networkdb.kademlia with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionKademliaNetworkDatabaseFacade.getBlindData(SigningPublicKey spk) BlindData for the given key.BlindCache.getBlindedHash(SigningPublicKey spk) The hash to lookup for a SPK known to be blinded.BlindCache.getData(SigningPublicKey spk) The cached data or null.BlindCache.getReverseData(SigningPublicKey spk) The cached data or null.booleanBlindCache.removeBlindData(SigningPublicKey spk) For console ConfigKeyringHelper.booleanKademliaNetworkDatabaseFacade.removeBlindData(SigningPublicKey spk) For console ConfigKeyringHelper.Uses of SigningPublicKey in net.i2p.router.startup
Methods in net.i2p.router.startup with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionprivate static CertificateCreateRouterInfoJob.createCertificate(RouterContext ctx, SigningPublicKey spk, PublicKey pk) Only called at startup viaLoadRouterInfoJoband RebuildRouterInfoJob.Uses of SigningPublicKey in net.i2p.router.transport.udp
Methods in net.i2p.router.transport.udp with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionstatic booleanSSU2Util.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.Uses of SigningPublicKey in net.i2p.util
Methods in net.i2p.util with parameters of type SigningPublicKeyModifier and TypeMethodDescriptionbooleanByteArrayStream.verifySignature(Signature signature, SigningPublicKey verifyingKey) Verifies the signature of the written data.booleanByteArrayStream.verifySignature(I2PAppContext ctx, Signature signature, SigningPublicKey verifyingKey) Verifies the signature of the written data.