List of usage examples for org.bouncycastle.util.io.pem PemReader readPemObject
public PemObject readPemObject() throws IOException
From source file:de.alpharogroup.crypto.key.KeyExtensions.java
License:Open Source License
/** * Gets the pem object.//from w w w . j a va2s. c o m * * @param file * the file * @return the pem object * @throws IOException * Signals that an I/O exception has occurred. */ public static PemObject getPemObject(final File file) throws IOException { PemObject pemObject; final PemReader pemReader = new PemReader(new InputStreamReader(new FileInputStream(file))); try { pemObject = pemReader.readPemObject(); } finally { pemReader.close(); } return pemObject; }
From source file:io.apigee.trireme.crypto.algorithms.DsaKeyPairProvider.java
License:Open Source License
/** * DSA Key Pair format -- the PEM file contains an ASN.1 sequence containing six integers: * p, q, g, y, and x. We construct the appropriate Java data structures after parsing those. *///from w w w . j av a2s. c om @Override public KeyPair readKeyPair(String algorithm, Reader rdr, char[] passphrase) throws CryptoException, IOException { PemReader reader = new PemReader(rdr); PemObject pemObj = reader.readPemObject(); if (pemObj == null) { throw new CryptoException("Not a valid PEM file"); } if (!DSA_TYPE.equals(pemObj.getType())) { throw new CryptoException("PEM file does not contain a DSA private key"); } ASN1InputStream asnIn = new ASN1InputStream(pemObj.getContent()); ASN1Primitive ao = asnIn.readObject(); if (ao == null) { throw new CryptoException("PEM file does not contain an ASN.1 object"); } if (!(ao instanceof ASN1Sequence)) { throw new CryptoException("PEM file does not contain a sequence"); } ASN1Sequence seq = (ASN1Sequence) ao; if (seq.size() != 6) { throw new CryptoException("ASN.1 sequence is the wrong length for a DSA key"); } DERInteger p = (DERInteger) seq.getObjectAt(1); DERInteger q = (DERInteger) seq.getObjectAt(2); DERInteger g = (DERInteger) seq.getObjectAt(3); DERInteger y = (DERInteger) seq.getObjectAt(4); DERInteger x = (DERInteger) seq.getObjectAt(5); try { KeyFactory factory = KeyFactory.getInstance("DSA"); DSAPublicKeySpec pubSpec = new DSAPublicKeySpec(y.getValue(), p.getValue(), q.getValue(), g.getValue()); PublicKey pub = factory.generatePublic(pubSpec); DSAPrivateKeySpec keySpec = new DSAPrivateKeySpec(x.getValue(), p.getValue(), q.getValue(), g.getValue()); PrivateKey key = factory.generatePrivate(keySpec); return new KeyPair(pub, key); } catch (GeneralSecurityException gse) { throw new CryptoException(gse); } }
From source file:io.kodokojo.commons.utils.RSAUtils.java
License:Open Source License
public static RSAPrivateKey readRsaPrivateKey(Reader reader) { Security.addProvider(new BouncyCastleProvider()); try {//from w w w . j a v a2s . com KeyFactory factory = KeyFactory.getInstance("RSA", "BC"); PemReader pemReader = new PemReader(reader); PemObject privatePem = pemReader.readPemObject(); PKCS8EncodedKeySpec privateSpec = new PKCS8EncodedKeySpec(privatePem.getContent()); RSAPrivateKey privateKey = (RSAPrivateKey) factory.generatePrivate(privateSpec); return privateKey; } catch (IOException | NoSuchAlgorithmException | InvalidKeySpecException | NoSuchProviderException e) { throw new RuntimeException("Unable to extract private RAS Key .", e); } }
From source file:ir.iais.gensig.utilities.PemFile.java
public PemFile(String filename) throws FileNotFoundException, IOException { PemReader pemReader = new PemReader(new InputStreamReader(new FileInputStream(filename))); try {//from w w w.j av a2 s . co m this.pemObject = pemReader.readPemObject(); } finally { pemReader.close(); } }
From source file:jazmin.server.relay.udp.webrtc.TlsUtils.java
License:Open Source License
static PemObject loadPemResource(String resource) throws IOException { InputStream s = TlsUtils.class.getResourceAsStream(resource); PemReader p = new PemReader(new InputStreamReader(s)); PemObject o = p.readPemObject(); p.close();//from w w w . ja v a 2s . co m return o; }
From source file:mamo.vanillaVotifier.AbstractConfig.java
License:Open Source License
protected void loadKeyPair() throws IOException, InvalidKeySpecException { if (!publicKeyFile.exists() && !privateKeyFile.exists()) { generateKeyPair();// w ww . j a v a 2 s . c om saveKeyPair(); } if (!publicKeyFile.exists()) { throw new PublicKeyFileNotFoundException(); } if (!privateKeyFile.exists()) { throw new PrivateKeyFileNotFoundException(); } PemReader publicKeyPemReader = new PemReader(new BufferedReader(new FileReader(publicKeyFile))); PemReader privateKeyPemReader = new PemReader(new BufferedReader(new FileReader(privateKeyFile))); PemObject publicPemObject = publicKeyPemReader.readPemObject(); if (publicPemObject == null) { throw new InvalidPublicKeyFileException(); } PemObject privatePemObject = privateKeyPemReader.readPemObject(); if (privatePemObject == null) { throw new InvalidPrivateKeyFileException(); } keyPair = new KeyPair(RsaUtils.bytesToPublicKey(publicPemObject.getContent()), RsaUtils.bytesToPrivateKey(privatePemObject.getContent())); publicKeyPemReader.close(); privateKeyPemReader.close(); }
From source file:mamo.vanillaVotifier.JsonConfig.java
License:Open Source License
@Override public synchronized void load() throws IOException, InvalidKeySpecException { if (!configFile.exists()) { BufferedInputStream in = new BufferedInputStream(JsonConfig.class.getResourceAsStream("config.json")); StringBuilder stringBuilder = new StringBuilder(); int i;//from www. jav a 2 s . com while ((i = in.read()) != -1) { stringBuilder.append((char) i); } BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(configFile)); for (char c : stringBuilder.toString() .replaceAll("\\u000D\\u000A|[\\u000A\\u000B\\u000C\\u000D\\u0085\\u2028\\u2029]", System.getProperty("line.separator")) .toCharArray()) { out.write((int) c); } out.flush(); out.close(); } BufferedInputStream in = new BufferedInputStream(JsonConfig.class.getResourceAsStream("config.json")); JSONObject defaultConfig = new JSONObject(new JSONTokener(in)); in.close(); JSONObject config = new JSONObject( new JSONTokener(new BufferedInputStream(new FileInputStream(configFile)))); boolean save = JsonUtils.merge(defaultConfig, config); configVersion = config.getInt("config-version"); if (configVersion == 2) { v2ToV3(config); configVersion = 3; save = true; } logFile = new File(config.getString("log-file")); inetSocketAddress = new InetSocketAddress(config.getString("ip"), config.getInt("port")); publicKeyFile = new File(config.getJSONObject("key-pair-files").getString("public")); privateKeyFile = new File(config.getJSONObject("key-pair-files").getString("private")); if (!publicKeyFile.exists() && !privateKeyFile.exists()) { KeyPair keyPair = RsaUtils.genKeyPair(); PemWriter publicPemWriter = new PemWriter(new BufferedWriter(new FileWriter(publicKeyFile))); publicPemWriter.writeObject(new PemObject("PUBLIC KEY", keyPair.getPublic().getEncoded())); publicPemWriter.flush(); publicPemWriter.close(); PemWriter privatePemWriter = new PemWriter(new BufferedWriter(new FileWriter(privateKeyFile))); privatePemWriter.writeObject(new PemObject("RSA PRIVATE KEY", keyPair.getPrivate().getEncoded())); privatePemWriter.flush(); privatePemWriter.close(); } if (!publicKeyFile.exists()) { throw new PublicKeyFileNotFoundException(); } if (!privateKeyFile.exists()) { throw new PrivateKeyFileNotFoundException(); } PemReader publicKeyPemReader = new PemReader(new BufferedReader(new FileReader(publicKeyFile))); PemReader privateKeyPemReader = new PemReader(new BufferedReader(new FileReader(privateKeyFile))); PemObject publicPemObject = publicKeyPemReader.readPemObject(); if (publicPemObject == null) { throw new InvalidPublicKeyFileException(); } PemObject privatePemObject = privateKeyPemReader.readPemObject(); if (privatePemObject == null) { throw new InvalidPrivateKeyFileException(); } keyPair = new KeyPair(RsaUtils.bytesToPublicKey(publicPemObject.getContent()), RsaUtils.bytesToPrivateKey(privatePemObject.getContent())); publicKeyPemReader.close(); privateKeyPemReader.close(); rconConfigs = new ArrayList<RconConfig>(); for (int i = 0; i < config.getJSONArray("rcon-list").length(); i++) { JSONObject jsonObject = config.getJSONArray("rcon-list").getJSONObject(i); RconConfig rconConfig = new RconConfig( new InetSocketAddress(jsonObject.getString("ip"), jsonObject.getInt("port")), jsonObject.getString("password")); for (int j = 0; j < jsonObject.getJSONArray("commands").length(); j++) { rconConfig.getCommands().add(jsonObject.getJSONArray("commands").getString(j)); } rconConfigs.add(rconConfig); } loaded = true; if (save) { save(); } }
From source file:net.etfbl.cryptodigitalcertificate.tool.util.CryptoPEMExtractor.java
public Key loadKey(String filePath, boolean pubKey) throws FileNotFoundException, IOException, NoSuchAlgorithmException, InvalidKeySpecException { Key key = null;/* w w w . java2 s .co m*/ PemReader reader = new PemReader(new InputStreamReader(new FileInputStream(filePath))); PemObject keyObject = reader.readPemObject(); reader.close(); if (pubKey) { key = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(keyObject.getContent())); } else { key = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(keyObject.getContent())); } return key; }
From source file:net.solarnetwork.node.setup.test.DefaultKeystoreServiceTest.java
License:Open Source License
@Test public void saveCASignedCert() throws Exception { SetupIdentityInfo info = new SetupIdentityInfo(1L, TEST_CONF_VALUE, "localhost", 80, false, TEST_PW_VALUE); expect(setupIdentityDao.getSetupIdentityInfo()).andReturn(info).atLeastOnce(); replayAll();//from w w w.j a v a 2 s . c o m service.saveCACertificate(CA_CERT); service.generateNodeSelfSignedCertificate(TEST_DN); String csr = service.generateNodePKCS10CertificateRequestString(); PemReader pemReader = new PemReader(new StringReader(csr)); try { PemObject pem = pemReader.readPemObject(); PKCS10CertificationRequest req = new PKCS10CertificationRequest(pem.getContent()); X509Certificate signedCert = PKITestUtils.sign(req, CA_CERT, CA_KEY_PAIR.getPrivate()); String signedPem = PKITestUtils.getPKCS7Encoding(new X509Certificate[] { signedCert }); service.saveNodeSignedCertificate(signedPem); log.debug("Saved signed node certificate:\n{}", signedPem); assertNotNull(csr); } finally { pemReader.close(); } }
From source file:net.solarnetwork.node.setup.test.DefaultKeystoreServiceTest.java
License:Open Source License
@Test public void saveCASubSignedCert() throws Exception { SetupIdentityInfo info = new SetupIdentityInfo(1L, TEST_CONF_VALUE, "localhost", 80, false, TEST_PW_VALUE); expect(setupIdentityDao.getSetupIdentityInfo()).andReturn(info).atLeastOnce(); replayAll();/* w w w . java 2 s . c o m*/ service.saveCACertificate(CA_CERT); service.generateNodeSelfSignedCertificate(TEST_DN); String csr = service.generateNodePKCS10CertificateRequestString(); PemReader pemReader = new PemReader(new StringReader(csr)); try { PemObject pem = pemReader.readPemObject(); PKCS10CertificationRequest req = new PKCS10CertificationRequest(pem.getContent()); X509Certificate signedCert = PKITestUtils.sign(req, CA_SUB_CERT, CA_SUB_KEY_PAIR.getPrivate()); String signedPem = PKITestUtils .getPKCS7Encoding(new X509Certificate[] { signedCert, CA_SUB_CERT, CA_CERT }); service.saveNodeSignedCertificate(signedPem); log.debug("Saved signed node certificate:\n{}", signedPem); assertNotNull(csr); } finally { pemReader.close(); } }