Class KeyRingBuilder

    • Constructor Summary

      Constructors 
      Constructor Description
      KeyRingBuilder()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      KeyRingBuilder addSubkey​(KeySpec keySpec)  
      KeyRingBuilder addUserId​(byte[] userId)  
      KeyRingBuilder addUserId​(java.lang.String userId)  
      org.bouncycastle.openpgp.PGPSecretKeyRing build()  
      static org.bouncycastle.openpgp.PGPKeyPair generateKeyPair​(KeySpec spec)  
      org.bouncycastle.openpgp.PGPSecretKeyRing modernKeyRing​(java.lang.String userId, java.lang.String password)
      Generate a modern PGP key ring consisting of an ed25519 EdDSA primary key which is used to certify an X25519 XDH encryption subkey and an ed25519 EdDSA signing key.
      KeyRingBuilder setExpirationDate​(java.util.Date expirationDate)  
      KeyRingBuilder setPassphrase​(Passphrase passphrase)  
      KeyRingBuilder setPrimaryKey​(KeySpec keySpec)  
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(java.lang.String userId)
      Creates a key ring consisting of an ed25519 EdDSA primary key and a curve25519 XDH subkey.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(java.lang.String userId, java.lang.String password)
      Creates a key ring consisting of an ed25519 EdDSA primary key and a X25519 XDH subkey.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(UserId userId)
      Creates a key ring consisting of an ed25519 EdDSA primary key and a curve25519 XDH subkey.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(UserId userId, java.lang.String password)
      Creates a key ring consisting of an ed25519 EdDSA primary key and a curve25519 XDH subkey.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(java.lang.String userId, RsaLength length)
      Creates a simple, unencrypted RSA KeyPair of length length with user-id userId.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(java.lang.String userId, RsaLength length, java.lang.String password)
      Creates a simple RSA KeyPair of length length with user-id userId.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(UserId userId, RsaLength length)
      Creates a simple, unencrypted RSA KeyPair of length length with user-id userId.
      org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(UserId userId, RsaLength length, java.lang.String password)
      Creates a simple RSA KeyPair of length length with user-id userId.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • KeyRingBuilder

        public KeyRingBuilder()
    • Method Detail

      • simpleRsaKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(@Nonnull
                                                                          UserId userId,
                                                                          @Nonnull
                                                                          RsaLength length)
                                                                   throws java.security.InvalidAlgorithmParameterException,
                                                                          java.security.NoSuchAlgorithmException,
                                                                          org.bouncycastle.openpgp.PGPException
        Creates a simple, unencrypted RSA KeyPair of length length with user-id userId. The KeyPair consists of a single RSA master key which is used for signing, encryption and certification.
        Parameters:
        userId - user id.
        length - length in bits.
        Returns:
        PGPSecretKeyRing containing the KeyPair.
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • simpleRsaKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(@Nonnull
                                                                          java.lang.String userId,
                                                                          @Nonnull
                                                                          RsaLength length)
                                                                   throws java.security.InvalidAlgorithmParameterException,
                                                                          java.security.NoSuchAlgorithmException,
                                                                          org.bouncycastle.openpgp.PGPException
        Creates a simple, unencrypted RSA KeyPair of length length with user-id userId. The KeyPair consists of a single RSA master key which is used for signing, encryption and certification.
        Parameters:
        userId - user id.
        length - length in bits.
        Returns:
        PGPSecretKeyRing containing the KeyPair.
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • simpleRsaKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(@Nonnull
                                                                          UserId userId,
                                                                          @Nonnull
                                                                          RsaLength length,
                                                                          java.lang.String password)
                                                                   throws java.security.InvalidAlgorithmParameterException,
                                                                          java.security.NoSuchAlgorithmException,
                                                                          org.bouncycastle.openpgp.PGPException
        Creates a simple RSA KeyPair of length length with user-id userId. The KeyPair consists of a single RSA master key which is used for signing, encryption and certification.
        Parameters:
        userId - user id.
        length - length in bits.
        password - Password of the key. Can be null for unencrypted keys.
        Returns:
        PGPSecretKeyRing containing the KeyPair.
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • simpleRsaKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleRsaKeyRing​(@Nonnull
                                                                          java.lang.String userId,
                                                                          @Nonnull
                                                                          RsaLength length,
                                                                          java.lang.String password)
                                                                   throws org.bouncycastle.openpgp.PGPException,
                                                                          java.security.NoSuchAlgorithmException,
                                                                          java.security.InvalidAlgorithmParameterException
        Creates a simple RSA KeyPair of length length with user-id userId. The KeyPair consists of a single RSA master key which is used for signing, encryption and certification.
        Parameters:
        userId - user id.
        length - length in bits.
        password - Password of the key. Can be null for unencrypted keys.
        Returns:
        PGPSecretKeyRing containing the KeyPair.
        Throws:
        org.bouncycastle.openpgp.PGPException
        java.security.NoSuchAlgorithmException
        java.security.InvalidAlgorithmParameterException
      • simpleEcKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(@Nonnull
                                                                         UserId userId)
                                                                  throws java.security.InvalidAlgorithmParameterException,
                                                                         java.security.NoSuchAlgorithmException,
                                                                         org.bouncycastle.openpgp.PGPException
        Creates a key ring consisting of an ed25519 EdDSA primary key and a curve25519 XDH subkey. The EdDSA primary key is used for signing messages and certifying the sub key. The XDH subkey is used for encryption and decryption of messages.
        Parameters:
        userId - user-id
        Returns:
        PGPSecretKeyRing containing the key pairs.
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • simpleEcKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(@Nonnull
                                                                         java.lang.String userId)
                                                                  throws java.security.InvalidAlgorithmParameterException,
                                                                         java.security.NoSuchAlgorithmException,
                                                                         org.bouncycastle.openpgp.PGPException
        Creates a key ring consisting of an ed25519 EdDSA primary key and a curve25519 XDH subkey. The EdDSA primary key is used for signing messages and certifying the sub key. The XDH subkey is used for encryption and decryption of messages.
        Parameters:
        userId - user-id
        Returns:
        PGPSecretKeyRing containing the key pairs.
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • simpleEcKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(@Nonnull
                                                                         UserId userId,
                                                                         java.lang.String password)
                                                                  throws java.security.InvalidAlgorithmParameterException,
                                                                         java.security.NoSuchAlgorithmException,
                                                                         org.bouncycastle.openpgp.PGPException
        Creates a key ring consisting of an ed25519 EdDSA primary key and a curve25519 XDH subkey. The EdDSA primary key is used for signing messages and certifying the sub key. The XDH subkey is used for encryption and decryption of messages.
        Parameters:
        userId - user-id
        password - Password of the private key. Can be null for an unencrypted key.
        Returns:
        PGPSecretKeyRing containing the key pairs.
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • simpleEcKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing simpleEcKeyRing​(@Nonnull
                                                                         java.lang.String userId,
                                                                         java.lang.String password)
                                                                  throws org.bouncycastle.openpgp.PGPException,
                                                                         java.security.NoSuchAlgorithmException,
                                                                         java.security.InvalidAlgorithmParameterException
        Creates a key ring consisting of an ed25519 EdDSA primary key and a X25519 XDH subkey. The EdDSA primary key is used for signing messages and certifying the sub key. The XDH subkey is used for encryption and decryption of messages.
        Parameters:
        userId - user-id
        password - Password of the private key. Can be null for an unencrypted key.
        Returns:
        PGPSecretKeyRing containing the key pairs.
        Throws:
        org.bouncycastle.openpgp.PGPException
        java.security.NoSuchAlgorithmException
        java.security.InvalidAlgorithmParameterException
      • modernKeyRing

        public org.bouncycastle.openpgp.PGPSecretKeyRing modernKeyRing​(java.lang.String userId,
                                                                       java.lang.String password)
                                                                throws java.security.InvalidAlgorithmParameterException,
                                                                       java.security.NoSuchAlgorithmException,
                                                                       org.bouncycastle.openpgp.PGPException
        Generate a modern PGP key ring consisting of an ed25519 EdDSA primary key which is used to certify an X25519 XDH encryption subkey and an ed25519 EdDSA signing key.
        Parameters:
        userId - primary user id
        password - passphrase or null if the key should be unprotected.
        Returns:
        key ring
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
      • build

        public org.bouncycastle.openpgp.PGPSecretKeyRing build()
                                                        throws java.security.NoSuchAlgorithmException,
                                                               org.bouncycastle.openpgp.PGPException,
                                                               java.security.InvalidAlgorithmParameterException
        Specified by:
        build in interface KeyRingBuilderInterface<KeyRingBuilder>
        Throws:
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
        java.security.InvalidAlgorithmParameterException
      • generateKeyPair

        public static org.bouncycastle.openpgp.PGPKeyPair generateKeyPair​(KeySpec spec)
                                                                   throws java.security.NoSuchAlgorithmException,
                                                                          org.bouncycastle.openpgp.PGPException,
                                                                          java.security.InvalidAlgorithmParameterException
        Throws:
        java.security.NoSuchAlgorithmException
        org.bouncycastle.openpgp.PGPException
        java.security.InvalidAlgorithmParameterException