Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.direnode.forgevotifier.cryptography;
- import javax.xml.bind.DatatypeConverter;
- import java.io.File;
- import java.io.FileInputStream;
- import java.security.KeyFactory;
- import java.security.KeyPair;
- import java.security.PrivateKey;
- import java.security.PublicKey;
- import java.security.spec.PKCS8EncodedKeySpec;
- import java.security.spec.X509EncodedKeySpec;
- public class RSARead{
- public static KeyPair load(String directory) throws Exception {
- // Read the public key file.
- File publicKeyFile = new File(directory + "/PublicKey.key");
- FileInputStream in = new FileInputStream(directory + "/PublicKey.key");
- byte[] encodedPublicKey = new byte[(int) publicKeyFile.length()];
- in.read(encodedPublicKey);
- encodedPublicKey = DatatypeConverter.parseBase64Binary(new String(encodedPublicKey));
- in.close();
- // Read the private key file.
- File privateKeyFile = new File(directory + "/PrivateKey.key");
- in = new FileInputStream(directory + "/PrivateKey.key");
- byte[] encodedPrivateKey = new byte[(int) privateKeyFile.length()];
- in.read(encodedPrivateKey);
- encodedPrivateKey = DatatypeConverter.parseBase64Binary(new String(encodedPrivateKey));
- in.close();
- // Instantiate and return the key pair.
- KeyFactory keyFactory = KeyFactory.getInstance("RSA");
- X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(encodedPublicKey);
- PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
- PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(encodedPrivateKey);
- PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);
- return new KeyPair(publicKey, privateKey);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment