Package net.i2p.router
Class LeaseSetKeys
java.lang.Object
net.i2p.router.LeaseSetKeys
Wrap up the keys given to the router when a destination connects to it.
Used by KeyManager, ClientMessageEventListener, GarlicMessageReceiver.
-
Field Summary
FieldsModifier and TypeFieldDescriptionUnmodifiable, ElGamal and ECIES-X25519.Unmodifiable, ECIES-X25519 onlyUnmodifiable, ECIES-X25519 and PQ onlyUnmodifiable, ECIES-X25519 and PQ onlyUnmodifiable, ECIES-X25519 and PQ onlyUnmodifiable, ECIES-X25519 and PQ onlyUnmodifiable, ElGamal onlyUnmodifiable, PQ onlyUnmodifiable, PQ onlyUnmodifiable, PQ only -
Constructor Summary
ConstructorsConstructorDescriptionLeaseSetKeys(Destination dest, SigningPrivateKey revocationKey, List<PrivateKey> decryptionKeys) Client with multiple keys The ONLY valid combinations are X25519 + ElG or X25519 + (MLKEM512 OR MLKEM768 OR MLKEM1024).LeaseSetKeys(Destination dest, SigningPrivateKey revocationKey, PrivateKey decryptionKey) Client with a single key -
Method Summary
Modifier and TypeMethodDescriptionDecryption key which can open up garlic messages encrypted to the LeaseSet's public key.getDecryptionKey(EncType type) Decryption key which can open up garlic messages encrypted to the LeaseSet's public key.Key with which a LeaseSet can be revoked (by republishing it with no Leases) Deprecated, unusedWhat types of encryption are supported?booleanisSupported(EncType type) Do we support this type of encryption?
-
Field Details
-
SET_ELG
Unmodifiable, ElGamal only- Since:
- 0.9.44
-
SET_EC
Unmodifiable, ECIES-X25519 only- Since:
- public since 0.9.46
-
SET_BOTH
Unmodifiable, ElGamal and ECIES-X25519.- Since:
- public since 0.9.48
-
SET_PQ1
Unmodifiable, PQ only- Since:
- public since 0.9.67
-
SET_PQ2
Unmodifiable, PQ only- Since:
- public since 0.9.67
-
SET_PQ3
Unmodifiable, PQ only- Since:
- public since 0.9.67
-
SET_EC_PQ1
Unmodifiable, ECIES-X25519 and PQ only- Since:
- public since 0.9.67
-
SET_EC_PQ2
Unmodifiable, ECIES-X25519 and PQ only- Since:
- public since 0.9.67
-
SET_EC_PQ3
Unmodifiable, ECIES-X25519 and PQ only- Since:
- public since 0.9.67
-
SET_EC_PQ_ALL
Unmodifiable, ECIES-X25519 and PQ only- Since:
- public since 0.9.67
-
-
Constructor Details
-
LeaseSetKeys
Client with a single key- Parameters:
dest- unusedrevocationKey- unused, may be nulldecryptionKey- non-null
-
LeaseSetKeys
public LeaseSetKeys(Destination dest, SigningPrivateKey revocationKey, List<PrivateKey> decryptionKeys) Client with multiple keys The ONLY valid combinations are X25519 + ElG or X25519 + (MLKEM512 OR MLKEM768 OR MLKEM1024). Other combinations will throw IllegalArgumentException.- Parameters:
dest- unusedrevocationKey- unused, may be nulldecryptionKeys- non-null, non-empty- Throws:
IllegalArgumentException- Since:
- 0.9.44
-
-
Method Details
-
getRevocationKey
Key with which a LeaseSet can be revoked (by republishing it with no Leases) Deprecated, unused -
getDecryptionKey
Decryption key which can open up garlic messages encrypted to the LeaseSet's public key. This is used because the general public does not know on what router the destination is connected and as such can't encrypt to that router's normal public key.- Returns:
- ElGamal key or null if the LS does not support ElGamal
-
getDecryptionKey
Decryption key which can open up garlic messages encrypted to the LeaseSet's public key. This is used because the general public does not know on what router the destination is connected and as such can't encrypt to that router's normal public key.- Returns:
- key of the specified type or null if the LS does not support that type
- Since:
- 0.9.44
-
getPQDecryptionKey
- Returns:
- PQ key (any type) or null if the LS does not support PQ
- Since:
- 0.9.67
-
isSupported
Do we support this type of encryption?- Since:
- 0.9.44
-
getSupportedEncryption
What types of encryption are supported?- Since:
- 0.9.44
-