Kryptografia Java - KeyPairGenerator
Java udostępnia KeyPairGeneratorklasa. Ta klasa służy do generowania par kluczy publicznych i prywatnych. Aby wygenerować klucze za pomocąKeyPairGenerator klasy, wykonaj czynności podane poniżej.
Krok 1: Utwórz obiekt KeyPairGenerator
Plik KeyPairGenerator klasa zapewnia getInstance() , która akceptuje zmienną String reprezentującą wymagany algorytm generowania kluczy i zwraca obiekt KeyPairGenerator, który generuje klucze.
Stwórz KeyPairGenerator obiekt za pomocą getInstance() metoda, jak pokazano poniżej.
//Creating KeyPair generator object
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DSA");
Krok 2: Zainicjuj obiekt KeyPairGenerator
Plik KeyPairGenerator class udostępnia metodę o nazwie initialize()ta metoda służy do inicjalizacji generatora par kluczy. Ta metoda akceptuje wartość całkowitą reprezentującą rozmiar klucza.
Zainicjuj obiekt KeyPairGenerator utworzony w poprzednim kroku przy użyciu tej metody, jak pokazano poniżej.
//Initializing the KeyPairGenerator
keyPairGen.initialize(2048);
Krok 3: Wygeneruj KeyPairGenerator
Możesz wygenerować plik KeyPair używając generateKeyPair() metoda KeyPairGeneratorklasa. Wygeneruj parę kluczy za pomocą tej metody, jak pokazano poniżej.
//Generate the pair of keys
KeyPair pair = keyPairGen.generateKeyPair();
Krok 4: Uzyskaj klucz prywatny / klucz publiczny
Możesz uzyskać klucz prywatny z wygenerowanego obiektu KeyPair przy użyciu getPrivate() metoda, jak pokazano poniżej.
//Getting the private key from the key pair
PrivateKey privKey = pair.getPrivate();
Możesz uzyskać klucz publiczny z wygenerowanego obiektu KeyPair przy użyciu getPublic() metoda, jak pokazano poniżej.
//Getting the public key from the key pair
PublicKey publicKey = pair.getPublic();
Przykład
Poniższy przykład ilustruje generowanie klucza tajnego klucza przy użyciu klasy KeyPairGenerator klasy javax.crypto pakiet.
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");
}
}
Wynik
Powyższy program generuje następujące dane wyjściowe -
Keys generated