@Override public boolean validate(PemPub key, String text, PemBlock sign) throws MException { try { byte[] encKey = key.getBytesBlock(); X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey); KeyFactory keyFactory = KeyFactory.getInstance("DSA", "SUN"); PublicKey pubKey = keyFactory.generatePublic(pubKeySpec); Signature sig = Signature.getInstance("SHA1withDSA", "SUN"); sig.initVerify(pubKey); byte[] buffer = text.getBytes(); sig.update(buffer, 0, buffer.length); byte[] sigToVerify = sign.getBytesBlock(); return sig.verify(sigToVerify); } catch (Exception e) { throw new MException(e); } }
@Override public boolean validate(PemPub key, String text, PemBlock sign) throws MException { try { byte[] encKey = key.getBytesBlock(); X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey); KeyFactory keyFactory = KeyFactory.getInstance("ECDSA", "BC"); PublicKey pubKey = keyFactory.generatePublic(pubKeySpec); Signature sig = Signature.getInstance("SHA512WITHECDSA", "BC"); sig.initVerify(pubKey); byte[] buffer = text.getBytes(); sig.update(buffer, 0, buffer.length); byte[] sigToVerify = sign.getBytesBlock(); return sig.verify(sigToVerify); } catch (Exception e) { throw new MException(e); } }
@Override public String decrypt(PemPriv key, PemBlock encoded, String passphrase) throws MException { try { byte[] xkey = key.getBytesBlock(); byte[] data = encoded.getBytesBlock(); Cipher c = Cipher.getInstance("AES"); SecretKeySpec k = new SecretKeySpec(xkey, "AES"); c.init(Cipher.DECRYPT_MODE, k); byte[] enc = c.doFinal(data); String stringEncoding = encoded.getString(PemBlock.STRING_ENCODING, "utf-8"); return new String(enc, stringEncoding); } catch (Throwable t) { throw new MException(t); } }
int blockSize = Math.max(length / 1024 * 128, 64); byte[] b = encoded.getBytesBlock(); ByteArrayOutputStream os = new ByteArrayOutputStream();
cipher.init(Cipher.DECRYPT_MODE, privKey); byte[] b = encoded.getBytesBlock(); ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] data = encoded.getBytesBlock(); Cipher c = Cipher.getInstance("AES"); SecretKeySpec k = new SecretKeySpec(aesKey, "AES");
byte[] data = encoded.getBytesBlock(); Cipher c = Cipher.getInstance("AES"); SecretKeySpec k = new SecretKeySpec(aesKey, "AES");