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

- Packages that use SigningPublicKey
  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.

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

    Methods in net.i2p.client that return SigningPublicKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPublicKey` | I2PSession.`getTransientSigningPublicKey()`

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

    Fields in net.i2p.client.impl declared as SigningPublicKey
    Modifier and Type | Field and Description
    --- | ---
    `protected SigningPublicKey` | I2PSessionImpl.`_transientSigningPublicKey`

    Methods in net.i2p.client.impl that return SigningPublicKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPublicKey` | I2PSessionImpl.`getTransientSigningPublicKey()`

  - ### Uses of SigningPublicKey in net.i2p.client.streaming.impl

    Fields in net.i2p.client.streaming.impl declared as SigningPublicKey
    Modifier and Type | Field and Description
    --- | ---
    `protected SigningPublicKey` | Packet.`_transientSigningPublicKey`

    Methods in net.i2p.client.streaming.impl that return SigningPublicKey
    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

    Methods in net.i2p.client.streaming.impl with parameters of type SigningPublicKey
    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.

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

    Methods in net.i2p.crypto that return SigningPublicKey
    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)`
    `static SigningPublicKey` | SigUtil.`fromJavaKey(ECPublicKey pk, SigType type)`
    `static SigningPublicKey` | SigUtil.`fromJavaKey(EdDSAPublicKey pk, SigType type)`
    `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)`
    `static SigningPublicKey` | KeyGenerator.`getSigningPublicKey(SigningPrivateKey priv)` Convert a SigningPrivateKey to a SigningPublicKey.

    Methods in net.i2p.crypto that return types with arguments of type SigningPublicKey
    Modifier and Type | Method and Description
    --- | ---
    `Map<SigningPublicKey,String>` | TrustedUpdate.`getKeys()`

    Methods in net.i2p.crypto with parameters of type SigningPublicKey
    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)`
    `static ECPublicKey` | SigUtil.`toJavaECKey(SigningPublicKey pk)`
    `static EdDSAPublicKey` | SigUtil.`toJavaEdDSAKey(SigningPublicKey pk)`
    `static PublicKey` | SigUtil.`toJavaKey(SigningPublicKey pk)`
    `static RSAPublicKey` | SigUtil.`toJavaRSAKey(SigningPublicKey pk)` Deprecated. unused
    `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.

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

    Fields in net.i2p.data declared as SigningPublicKey
    Modifier and Type | Field and Description
    --- | ---
    `protected SigningPublicKey` | LeaseSet.`_signingKey`
    `protected SigningPublicKey` | KeysAndCert.`_signingKey`
    `protected SigningPublicKey` | LeaseSet2.`_transientSigningPublicKey`

    Methods in net.i2p.data that return SigningPublicKey
    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()`
    `SigningPublicKey` | LeaseSet2.`getTransientSigningKey()` Gets the transient public key for offline signing.
    `SigningPublicKey` | PrivateKeyFile.`getTransientSigningPubKey()`
    `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.

    Methods in net.i2p.data with parameters of type SigningPublicKey
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | PrivateKeyFile.`checkSignature(Signature s, byte[] data, SigningPublicKey spk)`
    `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)` Sets the signing public key.
    `protected boolean` | LeaseSet2.`verifyOfflineSignature(SigningPublicKey spk)`
    `boolean` | LeaseSet.`verifySignature(SigningPublicKey signingKey)` Deprecated. revocation unused

    Constructors in net.i2p.data with parameters of type SigningPublicKey
    Constructor and Description
    `BlindData(I2PAppContext ctx, SigningPublicKey spk, SigType blindType, String secret)`
    `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)`
    `PrivateKeyFile(File file, PublicKey pubkey, SigningPublicKey spubkey, Certificate cert, PrivateKey pk, SigningPrivateKey spk, byte[] padding)`

  - ### Uses of SigningPublicKey in net.i2p.data.i2cp

    Methods in net.i2p.data.i2cp that return SigningPublicKey
    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.

    Methods in net.i2p.data.i2cp with parameters of type SigningPublicKey
    Modifier and Type | Method and Description
    --- | ---
    `void` | SessionConfig.`setOfflineSignature(long expires, SigningPublicKey transientSPK, Signature offlineSig)` Set the offline signing data.

    Constructors in net.i2p.data.i2cp with parameters of type SigningPublicKey
    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.

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

    Methods in net.i2p.router that return SigningPublicKey
    Modifier and Type | Method and Description
    --- | ---
    `SigningPublicKey` | KeyManager.`getSigningPublicKey()` Router key

    Methods in net.i2p.router with parameters of type SigningPublicKey
    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.

  - ### Uses of SigningPublicKey in net.i2p.router.networkdb.kademlia

    Methods in net.i2p.router.networkdb.kademlia with parameters of type SigningPublicKey
    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

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

    Methods in net.i2p.router.transport.udp with parameters of type SigningPublicKey
    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.

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

    Methods in net.i2p.util with parameters of type SigningPublicKey
    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.