## Uses of Class
net.i2p.data.SigningPrivateKey

- Packages that use SigningPrivateKey
  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.naming | Naming service for resolving human-readable names to I2P destinations, providing a standard interface without JNDI complexity.
  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.i2ptunnel.web | Web-based user interface for managing I2PTunnel configurations, implemented as a webapp packaged in i2ptunnel.war.
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.startup | The I2P startup package loads configuration when I2P is started.
  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.

- - ### Uses of SigningPrivateKey in net.i2p.client

    Methods in net.i2p.client that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | I2PSession.`getPrivateKey()` Retrieve the signing SigningPrivateKey associated with the Destination.

  - ### Uses of SigningPrivateKey in net.i2p.client.impl

    Methods in net.i2p.client.impl that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | I2PSessionImpl.`getPrivateKey()` Retrieve the signing SigningPrivateKey.

    Methods in net.i2p.client.impl with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `void` | I2CPMessageProducer.`createLeaseSet(I2PSessionImpl session, LeaseSet leaseSet, SigningPrivateKey signingPriv, List<PrivateKey> privs)` In response to a RequestLeaseSet Message from the router, send a CreateLeaseset Message back to the router.

  - ### Uses of SigningPrivateKey in net.i2p.client.naming

    Methods in net.i2p.client.naming with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `void` | HostTxtEntry.`sign(SigningPrivateKey spk)` Sign and set the "sig" property Must have been constructed with non-null properties.
    `void` | HostTxtEntry.`signInner(SigningPrivateKey spk)` Sign and set the "oldsig" property Must have been constructed with non-null properties.
    `void` | HostTxtEntry.`signRemove(SigningPrivateKey spk)` Sign as a "remove" line #!dest=dest#name=name#k1=v1#sig=sig...] Must have been constructed with non-null properties.

  - ### Uses of SigningPrivateKey in net.i2p.crypto

    Subclasses of SigningPrivateKey in net.i2p.crypto
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `RSASigningPrivateCrtKey` A SigningPrivateKey that retains the Chinese Remainder Theorem parameters, so it can be converted back to a Java CRT key.

    Methods in net.i2p.crypto that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `static SigningPrivateKey` | Blinding.`blind(SigningPrivateKey key, SigningPrivateKey alpha)` Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519.
    `static SigningPrivateKey` | SigUtil.`fromJavaKey(DSAPrivateKey pk)`
    `static SigningPrivateKey` | SigUtil.`fromJavaKey(ECPrivateKey pk, SigType type)`
    `static SigningPrivateKey` | SigUtil.`fromJavaKey(EdDSAPrivateKey pk, SigType type)`
    `static SigningPrivateKey` | SigUtil.`fromJavaKey(PrivateKey pk)` Use if SigType is unknown.
    `static SigningPrivateKey` | SigUtil.`fromJavaKey(PrivateKey pk, SigType type)` Use if SigType is known.
    `static SigningPrivateKey` | SigUtil.`fromJavaKey(RSAPrivateKey pk, SigType type)` As of 0.9.31, if pk is a RSAPrivateCrtKey, this will return a RSASigningPrivateCrtKey.
    `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 SigningPrivateKey` | Blinding.`unblind(SigningPrivateKey key, SigningPrivateKey alpha)` Only for SigType EdDSA_SHA512_Ed25519.

    Methods in net.i2p.crypto with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `static SigningPrivateKey` | Blinding.`blind(SigningPrivateKey key, SigningPrivateKey alpha)` Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519.
    `static SigningPublicKey` | Blinding.`blind(SigningPublicKey key, SigningPrivateKey alpha)` Only for SigTypes EdDSA_SHA512_Ed25519 and RedDSA_SHA512_Ed25519.
    `static X509Certificate` | SelfSignedGenerator.`generate(SigningPrivateKey priv, String cname, int validDays)` Create a self-signed certificate for the existing private key.
    `static SigningPublicKey` | KeyGenerator.`getSigningPublicKey(SigningPrivateKey priv)` Convert a SigningPrivateKey to a SigningPublicKey.
    `Signature` | DSAEngine.`sign(byte[] data, int offset, int length, SigningPrivateKey signingKey)` Sign using any key type as of 0.9.12 (DSA-SHA1 only prior to that)
    `Signature` | DSAEngine.`sign(byte[] data, SigningPrivateKey signingKey)` Sign using any key type.
    `Signature` | DSAEngine.`sign(Hash hash, SigningPrivateKey signingKey)` Nonstandard.
    `Signature` | DSAEngine.`sign(InputStream in, SigningPrivateKey signingKey)` Sign using DSA-SHA1 ONLY.
    `Signature` | DSAEngine.`sign(SHA1Hash hash, SigningPrivateKey signingKey)` Sign using DSA-SHA1 ONLY.
    `Signature` | DSAEngine.`sign(SimpleDataStructure hash, SigningPrivateKey signingKey)` Generic signature type.
    `Signature` | TrustedUpdate.`sign(String inputFile, String signedFile, SigningPrivateKey signingPrivateKey, String version)` Uses the given `SigningPrivateKey` to sign the given input file along with its version string using DSA.
    `static DSAPrivateKey` | SigUtil.`toJavaDSAKey(SigningPrivateKey pk)`
    `static ECPrivateKey` | SigUtil.`toJavaECKey(SigningPrivateKey pk)`
    `static EdDSAPrivateKey` | SigUtil.`toJavaEdDSAKey(SigningPrivateKey pk)`
    `static PrivateKey` | SigUtil.`toJavaKey(SigningPrivateKey pk)`
    `static RSAPrivateKey` | SigUtil.`toJavaRSAKey(SigningPrivateKey pk)` As of 0.9.31, if pk is a RSASigningPrivateCrtKey, this will return a RSAPrivateCrtKey.
    `static SigningPrivateKey` | Blinding.`unblind(SigningPrivateKey key, SigningPrivateKey alpha)` Only for SigType EdDSA_SHA512_Ed25519.

  - ### Uses of SigningPrivateKey in net.i2p.data

    Fields in net.i2p.data declared as SigningPrivateKey
    Modifier and Type | Field and Description
    --- | ---
    `protected SigningPrivateKey` | PrivateKeyFile.`signingPrivKey`

    Methods in net.i2p.data that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | SigningPrivateKey.`blind(SigningPrivateKey alpha)` Only for SigType EdDSA_SHA512_Ed25519
    `SigningPrivateKey` | BlindData.`getAlpha()` Gets the alpha value for the current day.
    `SigningPrivateKey` | PrivateKeyFile.`getSigningPrivKey()`
    `SigningPrivateKey` | PrivateKeyFile.`getTransientSigningPrivKey()`

    Methods in net.i2p.data with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | SigningPrivateKey.`blind(SigningPrivateKey alpha)` Only for SigType EdDSA_SHA512_Ed25519
    `SigningPublicKey` | SigningPublicKey.`blind(SigningPrivateKey alpha)` Only for SigType EdDSA_SHA512_Ed25519
    `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
    `void` | DatabaseEntry.`sign(SigningPrivateKey key)` Sign the structure using the supplied signing key
    `void` | EncryptedLeaseSet.`sign(SigningPrivateKey key)` Sign the structure using the supplied signing key.
    `void` | LeaseSet2.`sign(SigningPrivateKey key)` Sign the structure using the supplied signing key.
    `void` | EncryptedLeaseSet.`sign(SigningPrivateKey key, int authType, List<? extends SimpleDataStructure> clientKeys)` Sign the structure using the supplied signing key.

    Constructors in net.i2p.data with parameters of type SigningPrivateKey
    Constructor and Description
    `PrivateKeyFile(File file, Destination dest, PrivateKey pk, SigningPrivateKey spk)`
    `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 SigningPrivateKey in net.i2p.data.i2cp

    Methods in net.i2p.data.i2cp that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | CreateLeaseSetMessage.`getSigningPrivateKey()`

    Methods in net.i2p.data.i2cp with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `void` | CreateLeaseSetMessage.`setSigningPrivateKey(SigningPrivateKey key)`
    `void` | SessionConfig.`signSessionConfig(SigningPrivateKey signingKey)` Sign the structure using the supplied private key

  - ### Uses of SigningPrivateKey in net.i2p.i2ptunnel.web

    Methods in net.i2p.i2ptunnel.web that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | EditBean.`getSigningPrivateKey(int tunnel)`

  - ### Uses of SigningPrivateKey in net.i2p.router

    Methods in net.i2p.router that return SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPrivateKey` | LeaseSetKeys.`getRevocationKey()` Key with which a LeaseSet can be revoked (by republishing it with no Leases) Deprecated, unused
    `SigningPrivateKey` | KeyManager.`getSigningPrivateKey()` Router key

    Methods in net.i2p.router with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `void` | KeyManager.`registerKeys(Destination dest, SigningPrivateKey leaseRevocationPrivateKey, List<PrivateKey> endpointDecryptionKeys)` Client with multiple keys
    `void` | KeyManager.`registerKeys(Destination dest, SigningPrivateKey leaseRevocationPrivateKey, PrivateKey endpointDecryptionKey)` Client with a single key
    `void` | KeyManager.`setKeys(PublicKey key1, PrivateKey key2, SigningPublicKey key3, SigningPrivateKey key4)` Configure the router's keys.

    Constructors in net.i2p.router with parameters of type SigningPrivateKey
    Constructor and Description
    `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).
    `LeaseSetKeys(Destination dest, SigningPrivateKey revocationKey, PrivateKey decryptionKey)` Client with a single key

  - ### Uses of SigningPrivateKey in net.i2p.router.startup

    Fields in net.i2p.router.startup declared as SigningPrivateKey
    Modifier and Type | Field and Description
    --- | ---
    `SigningPrivateKey` | LoadRouterInfoJob.KeyData.`signingPrivateKey`

    Constructors in net.i2p.router.startup with parameters of type SigningPrivateKey
    Constructor and Description
    `KeyData(RouterIdentity ri, PrivateKey pk, SigningPrivateKey spk)`

  - ### Uses of SigningPrivateKey in net.i2p.router.transport.udp

    Methods in net.i2p.router.transport.udp with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `static byte[]` | SSU2Util.`createPeerTestData(I2PAppContext ctx, Hash h, Hash h2, PeerTestState.Role role, long nonce, byte[] ip, int port, SigningPrivateKey spk)` Make the data for the peer test block
    `static byte[]` | SSU2Util.`createRelayRequestData(I2PAppContext ctx, Hash h, Hash h2, long nonce, long tag, byte[] ip, int port, SigningPrivateKey spk)` Make the data for the relay request block
    `static byte[]` | SSU2Util.`createRelayResponseData(I2PAppContext ctx, Hash h, int code, long nonce, byte[] ip, int port, SigningPrivateKey spk, long token)` Make the data for the relay response block
    `static Signature` | SSU2Util.`sign(I2PAppContext ctx, byte[] prologue, Hash h, Hash h2, byte[] data, int datalen, SigningPrivateKey spk)` Sign the relay or peer test data, using the prologue and hash as the initial data, and then the provided data.

  - ### Uses of SigningPrivateKey in net.i2p.util

    Methods in net.i2p.util with parameters of type SigningPrivateKey
    Modifier and Type | Method and Description
    --- | ---
    `Signature` | ByteArrayStream.`sign(I2PAppContext ctx, SigningPrivateKey signingKey)` Signs the written data.
    `Signature` | ByteArrayStream.`sign(SigningPrivateKey signingKey)` Signs the written data.