Java Generate Public Key From File

 
Public

Now that you have generated a signature for some data, you need to save the signature bytes in one file and the public key bytes in another so you can send (via modem, floppy, mail, and so on) someone else

Generate Create

Save the Signature and the Public Key in Files. Now that you have generated a signature for some data, you need to save the signature bytes in one file and the public key bytes in another so you can send (via modem, floppy, mail, and so on) someone else. Recall from the Generate Public and Private Keys step that the public key was placed in. Since this lesson assumes that you don't yet have such keys, you are going to create a keystore named examplestore and create an entry with a newly generated public/private key pair (with the public key in a certificate). Type the following command in your command window to create a keystore named examplestore and to generate keys. Next, VerSig needs to import the encoded public key bytes from the file specified as the first command line argument and to convert them to a PublicKey.A PublicKey is needed because that is what the Signature initVerify method requires in order to initialize the Signature object for verification. You have a PGP public in PEM format, which cannot be stored in a Java key store. But you have the PEM encoded public key file. This class reads the file and creates a public key class in Java. The.pub file is your public key, and the other file is your private key. If you don’t have these files (or you don’t even have a.ssh directory), you can create them by running a program called ssh-keygen, which is provided with the SSH package on Linux/Mac systems and comes with the MSysGit package on Windows.

  • the data for which the signature was generated,
  • the signature, and
  • the public key

The receiver can verify that the data came from you and was not modified in transit by running the VerSig program you will generate in the upcoming Verifying a Digital Signature steps. That program uses the public key to verify that the signature received is the true signature for the data received.

Recall that the signature was placed in a byte array named realSig. You can save the signature bytes in a file named sig via the following.

Recall from the Generate Public and Private Keys step that the public key was placed in a PublicKey object named pub. You can get the encoded key bytes by calling the getEncoded method and then store the encoded bytes in a file. You can name the file whatever you want. If, for example, your name is Susan, you might name it something like suepk (for 'Sue's public key'), as in the following:

Next, VerSig needs to import the encoded public key bytes from the file specified as the first command line argument and to convert them to a PublicKey. A PublicKey is needed because that is what the SignatureinitVerify method requires in order to initialize the SignatureBlack ops 4 beta key generator. object for verification.

First, read in the encoded public key bytes.

Now the byte array encKey contains the encoded public key bytes.

You can use a KeyFactory class in order to instantiate a DSA public key from its encoding. The KeyFactory class provides conversions between opaque keys (of type Key) and key specifications, which are transparent representations of the underlying key material. With an opaque key you can obtain the algorithm name, format name, and encoded key bytes, but not the key material, which, for example, may consist of the key itself and the algorithm parameters used to calculate the key. (Note that PublicKey, because it extends Key, is itself a Key.)

Java Generate Public Key From File

Java Generate Public Key From File Pdf

So, first you need a key specification. You can obtain one via the following, assuming that the key was encoded according to the X.509 standard, which is the case, for example, if the key was generated with the built-in DSA key-pair generator supplied by the SUN provider:

Now you need a KeyFactory object to do the conversion. That object must be one that works with DSA keys.

Generate Public Key And Private Key Using Java

Finally, you can use the KeyFactory object to generate a PublicKey from the key specification.