Uses of Class
net.i2p.data.PublicKey
-
Packages that use PublicKey Package Description net.i2p.crypto These classes provide a number of low-level cryptographic routines.net.i2p.crypto.x25519 DH for X25519.net.i2p.data These classes define the common data structures used by the various I2P protocols.net.i2p.data.i2np This package defines the low-level messages sent between routers, called the Invisible Internet Network Protocol (I2NP).net.i2p.router The I2P router application handles the I2P network communication.net.i2p.router.crypto Classes formerly in net.i2p.crypto but moved here as they are only used by the router.net.i2p.router.crypto.ratchet Implementation of ECIES-X25519-AEAD-Ratchet (proposal 144).net.i2p.router.message Creates and parses garlic messages.net.i2p.router.networkdb.kademlia The network database, including implementation of floodfills.net.i2p.router.tunnel All the work of managing locally created and participating tunnels, creating and handling tunnel messages, and their encryption. -
-
Uses of PublicKey in net.i2p.crypto
Methods in net.i2p.crypto that return PublicKey Modifier and Type Method Description PublicKeyKeyPair. getPublic()static PublicKeyKeyGenerator. getPublicKey(PrivateKey priv)Convert a PrivateKey to its corresponding PublicKey.Methods in net.i2p.crypto with parameters of type PublicKey Modifier and Type Method Description SessionTagSessionKeyManager. consumeNextAvailableTag(PublicKey target, SessionKey key)Retrieve the next available session tag for identifying the use of the given key when communicating with the target.SessionKeySessionKeyManager. createSession(PublicKey target)Generate a new session key and associate it with the specified target.voidSessionKeyManager. createSession(PublicKey target, SessionKey key)Associate a new session key with the specified target.byte[]ElGamalEngine. encrypt(byte[] data, PublicKey publicKey)encrypt the data to the public keyvoidSessionKeyManager. failTags(PublicKey target)Mark all of the tags delivered to the target up to this point as invalid, since the peer has failed to respond when they should have.voidSessionKeyManager. failTags(PublicKey target, SessionKey key, TagSetHandle ts)intSessionKeyManager. getAvailableTags(PublicKey target, SessionKey key)Determine (approximately) how many available session tags for the current target have been confirmed and are availablelongSessionKeyManager. getAvailableTimeLeft(PublicKey target, SessionKey key)Determine how long the available tags will be available for before expiring, in millisecondsSessionKeySessionKeyManager. getCurrentKey(PublicKey target)Retrieve the session key currently associated with encryption to the target, or null if a new session key should be generated.SessionKeySessionKeyManager. getCurrentOrNewKey(PublicKey target)Retrieve the session key currently associated with encryption to the target.booleanSessionKeyManager. shouldSendTags(PublicKey target, SessionKey key)booleanSessionKeyManager. shouldSendTags(PublicKey target, SessionKey key, int lowThreshold)voidSessionKeyManager. tagsAcked(PublicKey target, SessionKey key, TagSetHandle ts)TagSetHandleSessionKeyManager. tagsDelivered(PublicKey target, SessionKey key, Set<SessionTag> 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)Constructors in net.i2p.crypto with parameters of type PublicKey Constructor Description KeyPair(PublicKey publicKey, PrivateKey privateKey) -
Uses of PublicKey in net.i2p.crypto.x25519
Methods in net.i2p.crypto.x25519 with parameters of type PublicKey Modifier and Type Method Description static SessionKeyX25519DH. dh(PrivateKey priv, PublicKey pub)DH -
Uses of PublicKey in net.i2p.data
Fields in net.i2p.data declared as PublicKey Modifier and Type Field Description protected PublicKeyLeaseSet. _encryptionKeyprotected PublicKeyKeysAndCert. _publicKeyMethods in net.i2p.data that return PublicKey Modifier and Type Method Description static PublicKeyPublicKey. create(byte[] data, int off)Pull from cache or return new.static PublicKeyPublicKey. create(InputStream in)Pull from cache or return newPublicKeyEncryptedLeaseSet. getEncryptionKey(Set<EncType> supported)If more than one key, return the first supported one.PublicKeyLeaseSet. getEncryptionKey()PublicKeyLeaseSet. getEncryptionKey(Set<EncType> supported)If more than one key, return the first supported one.PublicKeyLeaseSet2. getEncryptionKey()If more than one key, return the first supported one.PublicKeyLeaseSet2. getEncryptionKey(Set<EncType> supported)If more than one key, return the first supported one.PublicKeyKeysAndCert. getPublicKey()PublicKeyPrivateKey. toPublic()Derives a new PublicKey object derived from the secret contents of this PrivateKey.PublicKeyPublicKey. toTypedKey(KeyCertificate kcert)Up-convert this from an untyped (type 0) PK to a typed PK based on the Key Cert given.Methods in net.i2p.data that return types with arguments of type PublicKey Modifier and Type Method Description List<PublicKey>EncryptedLeaseSet. getEncryptionKeys()List<PublicKey>LeaseSet2. getEncryptionKeys()This returns all the keys.Methods in net.i2p.data with parameters of type PublicKey Modifier and Type Method Description voidLeaseSet2. addEncryptionKey(PublicKey key)Add an encryption key.voidMetaLeaseSet. addEncryptionKey(PublicKey key)voidLeaseSet. setEncryptionKey(PublicKey encryptionKey)voidMetaLeaseSet. setEncryptionKey(PublicKey key)voidKeysAndCert. setPublicKey(PublicKey key)Constructors in net.i2p.data with parameters of type PublicKey Constructor Description 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.PrivateKey(EncType type, byte[] data, PublicKey pubKey)PrivateKeyFile(File file, PublicKey pubkey, SigningPublicKey spubkey, Certificate cert, PrivateKey pk, SigningPrivateKey spk)PrivateKeyFile(File file, PublicKey pubkey, SigningPublicKey spubkey, Certificate cert, PrivateKey pk, SigningPrivateKey spk, byte[] padding) -
Uses of PublicKey in net.i2p.data.i2np
Methods in net.i2p.data.i2np with parameters of type PublicKey Modifier and Type Method Description EncryptedBuildRecordBuildRequestRecord. encryptRecord(I2PAppContext ctx, PublicKey toKey, Hash toPeer)Encrypt the record to the specified peer. -
Uses of PublicKey in net.i2p.router
Methods in net.i2p.router that return PublicKey Modifier and Type Method Description PublicKeyKeyManager. getPublicKey()Router keyMethods in net.i2p.router with parameters of type PublicKey Modifier and Type Method Description voidKeyManager. setKeys(PublicKey key1, PrivateKey key2, SigningPublicKey key3, SigningPrivateKey key4)Configure the router's keys. -
Uses of PublicKey in net.i2p.router.crypto
Methods in net.i2p.router.crypto with parameters of type PublicKey Modifier and Type Method Description SessionTagTransientSessionKeyManager. consumeNextAvailableTag(PublicKey target, SessionKey key)Retrieve the next available session tag for identifying the use of the given key when communicating with the target.voidTransientSessionKeyManager. createSession(PublicKey target, SessionKey key)Associate a new session key with the specified target.byte[]ElGamalAESEngine. encrypt(byte[] data, PublicKey target, SessionKey key, long paddedSize)Deprecated.unusedbyte[]ElGamalAESEngine. encrypt(byte[] data, PublicKey target, SessionKey key, Set<SessionTag> tagsForDelivery, long paddedSize)Deprecated.unusedbyte[]ElGamalAESEngine. encrypt(byte[] data, PublicKey target, SessionKey key, Set<SessionTag> tagsForDelivery, SessionTag currentTag, long paddedSize)Encrypt the data to the target using the given key and deliver the specified tags No new session key This is the one called from GarlicMessageBuilder and is the primary entry point.byte[]ElGamalAESEngine. encrypt(byte[] data, PublicKey target, SessionKey key, Set<SessionTag> tagsForDelivery, SessionTag currentTag, SessionKey newKey, long paddedSize)Encrypt the unencrypted data to the target.voidTransientSessionKeyManager. failTags(PublicKey target)Deprecated.unused and rather drasticvoidTransientSessionKeyManager. failTags(PublicKey target, SessionKey key, TagSetHandle ts)Mark these tags as invalid, since the peer has failed to ack them in time.intTransientSessionKeyManager. getAvailableTags(PublicKey target, SessionKey key)Determine (approximately) how many available session tags for the current target have been confirmed and are availablelongTransientSessionKeyManager. getAvailableTimeLeft(PublicKey target, SessionKey key)Determine how long the available tags will be available for before expiring, in millisecondsSessionKeyTransientSessionKeyManager. getCurrentKey(PublicKey target)Retrieve the session key currently associated with encryption to the target, or null if a new session key should be generated.SessionKeyTransientSessionKeyManager. getCurrentOrNewKey(PublicKey target)Retrieve the session key currently associated with encryption to the target.booleanTransientSessionKeyManager. shouldSendTags(PublicKey target, SessionKey key, int lowThreshold)voidTransientSessionKeyManager. tagsAcked(PublicKey target, SessionKey key, TagSetHandle ts)Mark these tags as acked, start to use them (if we haven't already) If the set was previously failed, it will be added back in.TagSetHandleTransientSessionKeyManager. tagsDelivered(PublicKey target, SessionKey key, Set<SessionTag> sessionTags)Take note of the fact that the given sessionTags associated with the key for encryption to the target have been sent. -
Uses of PublicKey in net.i2p.router.crypto.ratchet
Methods in net.i2p.router.crypto.ratchet that return PublicKey Modifier and Type Method Description static PublicKeyElligator2. decode(byte[] representative)From javascript version documentation: Returns an array with the point and the second argument of the corresponding call to the `encode` function.static PublicKeyElligator2. decode(AtomicBoolean alternative, byte[] representative)From javascript version documentation: Returns an array with the point and the second argument of the corresponding call to the `encode` function.PublicKeyRatchetTagSet. getRemoteKey()The far-end's public key.Methods in net.i2p.router.crypto.ratchet with parameters of type PublicKey Modifier and Type Method Description RatchetEntryMuxedSKM. consumeNextAvailableTag(PublicKey target)EC onlySessionTagMuxedSKM. consumeNextAvailableTag(PublicKey target, SessionKey key)ElG onlyRatchetEntryRatchetSKM. consumeNextAvailableTag(PublicKey target)Outbound.SessionTagRatchetSKM. consumeNextAvailableTag(PublicKey target, SessionKey key)SessionKeyMuxedSKM. createSession(PublicKey target)ElG onlyvoidMuxedSKM. createSession(PublicKey target, SessionKey key)ElG only(package private) booleanRatchetSKM. createSession(PublicKey target, HandshakeState state)Inbound or outbound.voidRatchetSKM. createSession(PublicKey target, SessionKey key)byte[]Elligator2. encode(PublicKey point)From javascript version documentation: The algorithm can return two different values for a single x coordinate if it's not 0.static byte[]Elligator2. encode(PublicKey point, boolean alternative)From javascript version documentation: The algorithm can return two different values for a single x coordinate if it's not 0.byte[]ECIESAEADEngine. encrypt(CloveSet cloves, PublicKey target, PrivateKey priv, RatchetSKM keyManager)Encrypt the data to the target using the given key and deliver the specified tags No new session key This is the one called from GarlicMessageBuilder and is the primary entry point.voidMuxedSKM. failTags(PublicKey target, SessionKey key, TagSetHandle ts)voidRatchetSKM. failTags(PublicKey target)Deprecated.unused and rather drasticvoidRatchetSKM. failTags(PublicKey target, SessionKey key, TagSetHandle ts)Mark these tags as invalid, since the peer has failed to ack them in time.intMuxedSKM. getAvailableTags(PublicKey target, SessionKey key)intRatchetSKM. getAvailableTags(PublicKey target, SessionKey key)Determine (approximately) how many available session tags for the current target have been confirmed and are availablelongMuxedSKM. getAvailableTimeLeft(PublicKey target, SessionKey key)longRatchetSKM. getAvailableTimeLeft(PublicKey target, SessionKey key)Determine how long the available tags will be available for before expiring, in millisecondsSessionKeyMuxedSKM. getCurrentKey(PublicKey target)ElG onlySessionKeyRatchetSKM. getCurrentKey(PublicKey target)SessionKeyMuxedSKM. getCurrentOrNewKey(PublicKey target)ElG onlySessionKeyRatchetSKM. getCurrentOrNewKey(PublicKey target)booleanMuxedSKM. shouldSendTags(PublicKey target, SessionKey key)ElG onlybooleanMuxedSKM. shouldSendTags(PublicKey target, SessionKey key, int lowThreshold)ElG onlybooleanRatchetSKM. shouldSendTags(PublicKey target, SessionKey key, int lowThreshold)voidMuxedSKM. tagsAcked(PublicKey target, SessionKey key, TagSetHandle ts)voidRatchetSKM. tagsAcked(PublicKey target, SessionKey key, TagSetHandle ts)Mark these tags as acked, start to use them (if we haven't already) If the set was previously failed, it will be added back in.TagSetHandleMuxedSKM. tagsDelivered(PublicKey target, SessionKey key, Set<SessionTag> sessionTags)TagSetHandleRatchetSKM. tagsDelivered(PublicKey target, SessionKey key, Set<SessionTag> sessionTags)Take note of the fact that the given sessionTags associated with the key for encryption to the target have been sent.(package private) booleanRatchetSKM. updateSession(PublicKey target, HandshakeState oldState, HandshakeState state)Inbound or outbound.Constructors in net.i2p.router.crypto.ratchet with parameters of type PublicKey Constructor Description Elg2KeyPair(PublicKey publicKey, PrivateKey privateKey, byte[] enc)RatchetTagSet(HKDF hkdf, SessionTagListener lsnr, PublicKey remoteKey, SessionKey rootKey, SessionKey data, long date, int id, int minSize, int maxSize)Inbound ES Tagset -
Uses of PublicKey in net.i2p.router.message
Methods in net.i2p.router.message that return PublicKey Modifier and Type Method Description PublicKeyGarlicConfig. getRecipientPublicKey()Methods in net.i2p.router.message with parameters of type PublicKey Modifier and Type Method Description (package private) static GarlicMessageGarlicMessageBuilder. buildECIESMessage(RouterContext ctx, GarlicConfig config, PublicKey target, Hash from, SessionKeyManager skm)ECIES_X25519 only.static GarlicMessageGarlicMessageBuilder. buildMessage(RouterContext ctx, GarlicConfig config, Set<SessionTag> wrappedTags, PublicKey target, SessionKey encryptKey, SessionTag encryptTag)ELGAMAL_2048 only.(package private) static GarlicMessageOutboundClientMessageJobHelper. createGarlicMessage(RouterContext ctx, long replyToken, long expiration, PublicKey recipientPK, PayloadGarlicConfig dataClove, Hash from, Destination dest, TunnelInfo replyTunnel, int tagsToSendOverride, int lowTagsOverride, SessionKey wrappedKey, Set<SessionTag> 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) This is called from OCMOSJ(package private) static booleanGarlicMessageBuilder. needsTags(RouterContext ctx, PublicKey key, Hash local, int minTagOverride)ELGAMAL_2048 only.voidGarlicConfig. setRecipientPublicKey(PublicKey recipientPublicKey)Public key of the router to receive and process this clove. -
Uses of PublicKey in net.i2p.router.networkdb.kademlia
Constructors in net.i2p.router.networkdb.kademlia with parameters of type PublicKey Constructor Description WrappedMessage(GarlicMessage msg, SessionKeyManager skm, PublicKey sentTo, SessionKey sentKey, TagSetHandle tsh) -
Uses of PublicKey in net.i2p.router.tunnel
Methods in net.i2p.router.tunnel with parameters of type PublicKey Modifier and Type Method Description static voidBuildMessageGenerator. createRecord(int recordNum, int hop, TunnelBuildMessage msg, TunnelCreatorConfig cfg, Hash replyRouter, long replyTunnel, I2PAppContext ctx, PublicKey peerKey)Place the asymmetrically encrypted record in the specified record slot, containing the hop's configuration (as well as the reply info, if it is an outbound endpoint)
-