Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. Provider provider = null;
  2. if (useBouncyCastleProvider) {
  3. provider = new BouncyCastleProvider();
  4. Security.addProvider(provider);
  5. }
  6.  
  7. // Message Digest
  8. Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
  9.  
  10. FileInputStream fin = new FileInputStream(FILENAME_CER);
  11. CertificateFactory f = CertificateFactory.getInstance("X.509");
  12. X509Certificate certificate = (X509Certificate) f.generateCertificate(fin);
  13. PublicKey publickey = certificate.getPublicKey();
  14.  
  15. String hashingAlgorithm = "SHA-256";
  16.  
  17. MessageDigest messageDigestProvider = null;
  18. if (null != provider) {
  19. messageDigestProvider = MessageDigest.getInstance(hashingAlgorithm, provider);
  20. } else {
  21. messageDigestProvider = MessageDigest.getInstance(hashingAlgorithm);
  22. }
  23. messageDigestProvider.update(firmaCompuesta.getBytes());
  24.  
  25. byte[] hash = messageDigestProvider.digest();
  26.  
  27. DigestAlgorithmIdentifierFinder hashAlgorithmFinder = new DefaultDigestAlgorithmIdentifierFinder();
  28. AlgorithmIdentifier hashingAlgorithmIdentifier = hashAlgorithmFinder.find(hashingAlgorithm);
  29.  
  30. DigestInfo digestInfo = new DigestInfo(hashingAlgorithmIdentifier, hash);
  31. byte[] hashToEncrypt = digestInfo.getEncoded();
  32.  
  33. // Crypto
  34. // You could also use "RSA/ECB/PKCS1Padding" for both the BC and SUN Providers.
  35. Cipher encCipher = null;
  36. if (null != provider) {
  37. encCipher = Cipher.getInstance("RSA/NONE/PKCS1Padding", provider);
  38. } else {
  39. encCipher = Cipher.getInstance("RSA");
  40. }
  41.  
  42. //=============== JEMJ CIFRADO DESDE .CER =============
  43. encCipher.init(Cipher.ENCRYPT_MODE, publickey);
  44.  
  45. byte[] encrypted = encCipher.doFinal(hashToEncrypt);
  46.  
  47. System.out.println("nnHash and Encryption Output : nn");
  48. //
  49. encodedBytes = Base64.encodeBase64(encrypted);
  50. encodedBytesStr = new String(encodedBytes);
  51. //
  52. System.out.println(encodedBytesStr);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement