/ Published in: Java
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.security.InvalidKeyException; import java.security.Key; import java.security.KeyPair; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; import java.security.SignatureException; import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import org.apache.commons.io.output.ByteArrayOutputStream; import org.bouncycastle.util.encoders.Base64Encoder; public class Utils { } try { keystore.load(is, storePassword == null ? null : storePassword.toCharArray()); return keystore; } finally { is.close(); } } PrivateKeyNotFoundException { } else { throw new PrivateKeyNotFoundException("The given key " + alias + " is not a private key."); } } return keyStore.getCertificate(alias).getPublicKey(); } return keyStore.getKey(alias, keyPassword == null ? null : keyPassword.toCharArray()); } return loadPublicKeyFromCertificate(certificateFile, "X.509"); } try { .getInstance(certificateType); publicKey = cert.getPublicKey(); } finally { fis.close(); } return publicKey; } byte[] sigToVerify = null; try { sigToVerify = new byte[sigfis.available()]; sigfis.read(sigToVerify); } finally { sigfis.close(); } return verify(dataFile, sigToVerify, certificateFile, signAlgorithm); } try { byte[] encKey = new byte[keyfis.available()]; keyfis.read(encKey); } finally { keyfis.close(); } sig.initVerify(pubKey); try { try { byte[] buffer = new byte[1024]; int len; while (bufin.available() != 0) { len = bufin.read(buffer); sig.update(buffer, 0, len); } } finally { if (bufin != null) { bufin.close(); } } } finally { if (datafis != null) { datafis.close(); } } return sig.verify(sigToVerify); } byte[] sigToVerify = null; try { sigToVerify = new byte[sigfis.available()]; sigfis.read(sigToVerify); } finally { sigfis.close(); } new Base64Encoder().decode(sigToVerify, 0, sigToVerify.length, signStream); return verify(dataFile, signStream.toByteArray(), certificateFile, signAlgorithm); } byte[] sigToVerify = null; try { sigToVerify = new byte[sigfis.available()]; sigfis.read(sigToVerify); } finally { sigfis.close(); } return verify(data, sigToVerify, certificateFile, signAlgorithm); } try { byte[] encKey = new byte[keyfis.available()]; keyfis.read(encKey); } finally { keyfis.close(); } sig.initVerify(pubKey); sig.update(dataFile.getBytes(STRING_ENCODING)); return sig.verify(sigToVerify); } byte[] sigToVerify = null; try { sigToVerify = new byte[sigfis.available()]; sigfis.read(sigToVerify); } finally { sigfis.close(); } new Base64Encoder().decode(sigToVerify, 0, sigToVerify.length, signStream); return verify(data, signStream.toByteArray(), certificateFile, signAlgorithm); } new Base64Encoder().encode(realSig, 0, realSig.length, sigfos2); sigfos2.close(); } try { sigfos.write(realSig); } finally { sigfos.close(); } } UnrecoverableKeyException, PrivateKeyNotFoundException, dsa.initSign(priv); try { try { byte[] buffer = new byte[1024]; int len; while (bufin.available() != 0) { len = bufin.read(buffer); dsa.update(buffer, 0, len); } } finally { if (bufin != null) { bufin.close(); } } } finally { if (fis != null) { fis.close(); } } return dsa.sign(); } UnrecoverableKeyException, PrivateKeyNotFoundException, dsa.initSign(priv); dsa.update(dataToSign.getBytes(STRING_ENCODING)); return dsa.sign(); } }