Java-cryptography-keypairgenerator

提供:Dev Guides
移動先:案内検索

Java暗号化-KeyPairGenerator

Java provides the KeyPairGenerator *class. This class is used to generate pairs of public and private keys. To generate keys using the KeyPairGenerator* class, follow the steps given below.

ステップ1:KeyPairGeneratorオブジェクトを作成する

*KeyPairGenerator* クラスは、必要なキー生成アルゴリズムを表すString変数を受け入れ、キーを生成するKeyPairGeneratorオブジェクトを返す* getInstance()*メソッドを提供します。

以下に示すように、* getInstance()メソッドを使用して *KeyPairGenerator オブジェクトを作成します。

//Creating KeyPair generator object
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DSA");

ステップ2:KeyPairGeneratorオブジェクトを初期化する

*KeyPairGenerator* クラスは、* initialize()*という名前のメソッドを提供します。このメソッドは、キーペアジェネレーターを初期化するために使用されます。 このメソッドは、キーサイズを表す整数値を受け入れます。

以下に示すように、このメソッドを使用して、前の手順で作成したKeyPairGeneratorオブジェクトを初期化します。

//Initializing the KeyPairGenerator
keyPairGen.initialize(2048);

ステップ3:KeyPairGeneratorを生成する

*KeyPairGenerator* クラスの* generateKeyPair()*メソッドを使用して *KeyPair* を生成できます。 以下に示すように、この方法を使用してキーペアを生成します。
//Generate the pair of keys
KeyPair pair = keyPairGen.generateKeyPair();

ステップ4:秘密鍵/公開鍵を取得する

以下に示すように、* getPrivate()*メソッドを使用して、生成されたKeyPairオブジェクトから秘密鍵を取得できます。

//Getting the private key from the key pair
PrivateKey privKey = pair.getPrivate();

以下に示すように、* getPublic()*メソッドを使用して、生成されたKeyPairオブジェクトから公開鍵を取得できます。

//Getting the public key from the key pair
PublicKey publicKey = pair.getPublic();

次の例は、 javax.crypto パッケージのKeyPairGeneratorクラスを使用した秘密鍵の鍵生成を示しています。

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;

public class KeyPairGenertor {
   public static void main(String args[]) throws Exception{
     //Creating KeyPair generator object
      KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DSA");

     //Initializing the KeyPairGenerator
      keyPairGen.initialize(2048);

     //Generating the pair of keys
      KeyPair pair = keyPairGen.generateKeyPair();

     //Getting the private key from the key pair
      PrivateKey privKey = pair.getPrivate();

     //Getting the public key from the key pair
      PublicKey publicKey = pair.getPublic();
      System.out.println("Keys generated");
   }
}

出力

上記のプログラムは、次の出力を生成します-

Keys generated