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

- Packages that use Certificate
  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.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 Invisible Internet Network Protocol (I2NP).
  net.i2p.router.message | Garlic message creation, parsing, and source routing for I2P communications.

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

    Methods in net.i2p.client with parameters of type Certificate
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | I2PClient.`createDestination(OutputStream destKeyStream, Certificate cert)` Create a new destination with the given certificate and store it, along with the private encryption and signing keys at the specified location Caller must close stream.
    `Destination` | I2PSimpleClient.`createDestination(OutputStream destKeyStream, Certificate cert)` Deprecated. Don't do this

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

    Methods in net.i2p.client.impl with parameters of type Certificate
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | I2PClientImpl.`createDestination(OutputStream destKeyStream, Certificate cert)` Create the destination with the given payload and write it out along with the PrivateKey and SigningPrivateKey to the destKeyStream If cert is a KeyCertificate, the signing keypair will be of the specified type.

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

    Subclasses of Certificate in net.i2p.data
    Modifier and Type | Class and Description
    --- | ---
    `class` | `KeyCertificate` Specialized certificate for defining cryptographic key types used in I2P identities.

    Fields in net.i2p.data declared as Certificate
    Modifier and Type | Field and Description
    --- | ---
    `protected Certificate` | KeysAndCert.`_certificate`
    `static Certificate` | Certificate.`NULL_CERT`

    Methods in net.i2p.data that return Certificate
    Modifier and Type | Method and Description
    --- | ---
    `static Certificate` | Certificate.`create(byte[] data, int off)` If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new
    `static Certificate` | Certificate.`create(InputStream in)` If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new
    `Certificate` | KeysAndCert.`getCertificate()`
    `Certificate` | PrivateKeyFile.`setCertType(int t)` Change cert type - caller must also call write().
    `Certificate` | PrivateKeyFile.`setKeyCert(SigType type)` Change cert type - caller must also call write().
    `Certificate` | PrivateKeyFile.`setSignedCert(PrivateKeyFile pkf2)` sign this dest by dest found in pkf2 - caller must also call write()

    Methods in net.i2p.data with parameters of type Certificate
    Modifier and Type | Method and Description
    --- | ---
    `void` | KeysAndCert.`setCertificate(Certificate cert)` Sets the certificate.

    Constructors in net.i2p.data with parameters of type Certificate
    Constructor and Description
    `KeyCertificate(Certificate cert)` Up-convert a cert to this class
    `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 Certificate in net.i2p.data.i2np

    Methods in net.i2p.data.i2np that return Certificate
    Modifier and Type | Method and Description
    --- | ---
    `Certificate` | GarlicClove.`getCertificate()`

    Methods in net.i2p.data.i2np with parameters of type Certificate
    Modifier and Type | Method and Description
    --- | ---
    `void` | GarlicClove.`setCertificate(Certificate cert)`

  - ### Uses of Certificate in net.i2p.router.message

    Methods in net.i2p.router.message that return Certificate
    Modifier and Type | Method and Description
    --- | ---
    `Certificate` | CloveSet.`getCertificate()`
    `Certificate` | GarlicConfig.`getCertificate()` Certificate for the getRecipient() to pay for their processing

    Constructors in net.i2p.router.message with parameters of type Certificate
    Constructor and Description
    `CloveSet(GarlicClove[] cloves, Certificate cert, long msgId, long expiration)`
    `GarlicConfig(Certificate cert, long id, long expiration, DeliveryInstructions di)`
    `GarlicConfig(List<GarlicConfig> cloveConfigs, Certificate cert, long id, long expiration, DeliveryInstructions di)`
    `PayloadGarlicConfig(Certificate cert, long id, long expiration, DeliveryInstructions di, I2NPMessage message)`