final byte[] armoredPgp = BaseEncoding.base64().decode(licenseText); final ArmoredInputStream in = new ArmoredInputStream(new ByteArrayInputStream(armoredPgp)); int ch; while ((ch = in.read()) >= 0 && in.isClearText()) { bout.write((byte) ch); final PGPPublicKeyRingCollection pgpRings = new PGPPublicKeyRingCollection(new ArmoredInputStream( LicenseHelper.class.getResourceAsStream("/KEYS")), c);
public boolean isResourceSignedBySignature(final InputStream resource, InputStream signature) { PGPPublicKey publicKey = null; PGPSignature pgpSignature = null; try { if (!(signature instanceof ArmoredInputStream)) { signature = new ArmoredInputStream(signature); } pgpSignature = isSignatureAcceptable(signature).getPgpSignature(); final PGPPublicKeyRing keyRing = getPublicKey(new PgpKeyId(pgpSignature)); rememberKey(keyRing); publicKey = keyRing.getPublicKey(); Validate.notNull(publicKey, "Could not obtain public key for signer key ID '%s'", pgpSignature); pgpSignature.initVerify(publicKey, "BC"); // Now verify the signed content final byte[] buff = new byte[BUFFER_SIZE]; int chunk; do { chunk = resource.read(buff); if (chunk > 0) { pgpSignature.update(buff, 0, chunk); } } while (chunk >= 0); return pgpSignature.verify(); } catch (final Exception e) { throw new IllegalStateException(e); } }
@Override public int read() throws IOException { if (done) { return -1; } int c = aIs.read(); if (c < 0 || !aIs.isClearText()) { done = true; return -1; } return c; }
String resultName) throws Exception { ArmoredInputStream aIn = new ArmoredInputStream(in); OutputStream out = new BufferedOutputStream(new FileOutputStream(resultName)); byte[] lineSep = getLineSeparator(); if (lookAhead != -1 && aIn.isClearText()) { byte[] line = lineOut.toByteArray(); out.write(line, 0, getLengthWithoutSeparatorOrTrailingWhitespace(line)); out.write(lineSep); while (lookAhead != -1 && aIn.isClearText()) { lookAhead = readInputLine(lineOut, lookAhead, aIn);
if (isPublicKeyArmored) pubKeyIn = new ArmoredInputStream(pubKeyIn); PGPPublicKey key = readPublicKeyFromCol(pubKeyIn); log.info("Creating a temp file...");
boolean newl = false; int ch; ArmoredInputStream ain = new ArmoredInputStream(in, true); ByteArrayOutputStream out = new ByteArrayOutputStream(); while ((ch = ain.read()) >= 0 && ain.isClearText()) { if (newl) { out.write((byte) '\n'); PGPSignature sig = list.get(0); sig.init (new JcaPGPContentVerifierBuilderProvider().setProvider("BC"), pk); while ((ch = ain.read()) >= 0 && ain.isClearText()) { if (newl) { out.write((byte) '\n');
public Boolean check() { final PGPPublicKey pgpSigningKey = readPublicKey(new ByteArrayInputStream(publicKey.getBytes())); final ArmoredInputStream armoredInputStream; try { armoredInputStream = new ArmoredInputStream(new ByteArrayInputStream(signature.getBytes())); } catch (IOException e) { throw new SignatureException("Failed to verify signature", e); } final PGPObjectFactory pgpObjectFactory = new PGPObjectFactory(armoredInputStream); try { final Object nextObject = pgpObjectFactory.nextObject(); PGPSignature pgpSignature = null; if (nextObject instanceof PGPSignatureList) { PGPSignatureList list = (PGPSignatureList) nextObject; if (!list.isEmpty()) { pgpSignature = list.get(0); } } if (pgpSignature == null) { return false; } initVerify(pgpSignature, pgpSigningKey); pgpSignature.update(signedData.getBytes()); return pgpSignature.verify(); } catch (IOException | PGPException | NoSuchProviderException | java.security.SignatureException e) { throw new SignatureException("Failed to verify signature", e); } }
InputStream ks = Q2.class.getClassLoader().getResourceAsStream(PUBRING); PGPPublicKey pk = readPublicKey(ks, SIGNER); ArmoredInputStream ain = new ArmoredInputStream(in, true); ByteArrayOutputStream out = new ByteArrayOutputStream(); Mac mac = Mac.getInstance("HmacSHA256"); mac.init(new SecretKeySpec(pk.getFingerprint(), "HmacSHA256")); while ((ch = ain.read()) >= 0 && ain.isClearText()) { if (newl) { out.write((byte) '\n'); PGPSignature sig = list.get(0); sig.init(new JcaPGPContentVerifierBuilderProvider().setProvider("BC"), pk); while ((ch = ain.read()) >= 0 && ain.isClearText()) { if (newl) { out.write((byte) '\n');
InputStream is = itemsByRole.get(SnapshotItem.Role.RELEASE_INLINE_INDEX).content.openInputStream(); if (is != null) { ArmoredInputStream aIs = new ArmoredInputStream(is); releaseStream = new FilterInputStream(aIs)
final byte[] armoredPgp = BaseEncoding.base64().decode(licenseText); final ArmoredInputStream in = new ArmoredInputStream(new ByteArrayInputStream(armoredPgp)); int ch; while ((ch = in.read()) >= 0 && in.isClearText()) { bout.write((byte) ch); final PGPPublicKeyRingCollection pgpRings = new PGPPublicKeyRingCollection(new ArmoredInputStream( LicenseHelper.class.getResourceAsStream("/KEYS")), c);
ArmoredInputStream ais = new ArmoredInputStream(new ByteArrayInputStream(Device.getDevice().getPgpPublicKey().getBytes())); return (PGPPublicKeyRing) new PGPObjectFactory(ais).nextObject(); ArmoredInputStream ais = new ArmoredInputStream(new ByteArrayInputStream(Device.getDevice().getPgpSecretKey().getBytes())); return (PGPSecretKeyRing) new PGPObjectFactory(ais).nextObject();