| package org.bouncycastle.openssl.bc; |
| |
| import org.bouncycastle.openssl.PEMDecryptor; |
| import org.bouncycastle.openssl.PEMDecryptorProvider; |
| import org.bouncycastle.openssl.PEMException; |
| import org.bouncycastle.openssl.PasswordException; |
| |
| public class BcPEMDecryptorProvider |
| implements PEMDecryptorProvider |
| { |
| private final char[] password; |
| |
| public BcPEMDecryptorProvider(char[] password) |
| { |
| this.password = password; |
| } |
| |
| public PEMDecryptor get(final String dekAlgName) |
| { |
| return new PEMDecryptor() |
| { |
| public byte[] decrypt(byte[] keyBytes, byte[] iv) |
| throws PEMException |
| { |
| if (password == null) |
| { |
| throw new PasswordException("Password is null, but a password is required"); |
| } |
| |
| return PEMUtilities.crypt(false, keyBytes, password, dekAlgName, iv); |
| } |
| }; |
| } |
| } |