Package org.bitcoinj.wallet
Class DecryptingKeyBag
- java.lang.Object
 - 
- org.bitcoinj.wallet.DecryptingKeyBag
 
 
- 
- All Implemented Interfaces:
 KeyBag
public class DecryptingKeyBag extends java.lang.Object implements KeyBag
A DecryptingKeyBag filters a pre-existing key bag, decrypting keys as they are requested using the provided AES key. If the keys are encrypted and no AES key provided,ECKey.KeyIsEncryptedExceptionwill be thrown. 
- 
- 
Constructor Summary
Constructors Constructor Description DecryptingKeyBag(KeyBag target, org.bouncycastle.crypto.params.KeyParameter aesKey) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ECKeyfindKeyFromPubKey(byte[] pubKey)Locates a keypair from the keychain given the raw public key bytes.ECKeyfindKeyFromPubKeyHash(byte[] pubKeyHash, Script.ScriptType scriptType)Locates a keypair from the keychain given the hash of the public key, and (optionally) by usage for a specific script type.RedeemDatafindRedeemDataFromScriptHash(byte[] scriptHash)Locates a redeem data (redeem script and keys) from the keychain given the hash of the script. 
 - 
 
- 
- 
Field Detail
- 
target
protected final KeyBag target
 
- 
aesKey
protected final org.bouncycastle.crypto.params.KeyParameter aesKey
 
 - 
 
- 
Constructor Detail
- 
DecryptingKeyBag
public DecryptingKeyBag(KeyBag target, @Nullable org.bouncycastle.crypto.params.KeyParameter aesKey)
 
 - 
 
- 
Method Detail
- 
findKeyFromPubKeyHash
@Nullable public ECKey findKeyFromPubKeyHash(byte[] pubKeyHash, @Nullable Script.ScriptType scriptType)
Description copied from interface:KeyBagLocates a keypair from the keychain given the hash of the public key, and (optionally) by usage for a specific script type. This is needed when finding out which key we need to use to redeem a transaction output.- Specified by:
 findKeyFromPubKeyHashin interfaceKeyBag- Parameters:
 pubKeyHash- hash of the keypair to look forscriptType- only look for given usage (currentlyScript.ScriptType.P2PKHorScript.ScriptType.P2WPKH) ornullif we don't care- Returns:
 - found key or null if no such key was found.
 
 
- 
findKeyFromPubKey
@Nullable public ECKey findKeyFromPubKey(byte[] pubKey)
Description copied from interface:KeyBagLocates a keypair from the keychain given the raw public key bytes.- Specified by:
 findKeyFromPubKeyin interfaceKeyBag- Returns:
 - ECKey or null if no such key was found.
 
 
- 
findRedeemDataFromScriptHash
@Nullable public RedeemData findRedeemDataFromScriptHash(byte[] scriptHash)
Description copied from interface:KeyBagLocates a redeem data (redeem script and keys) from the keychain given the hash of the script. This is needed when finding out which key and script we need to use to locally sign a P2SH transaction input. It is assumed that wallet should not have more than one private key for a single P2SH tx for security reasons. Returns RedeemData object or null if no such data was found.- Specified by:
 findRedeemDataFromScriptHashin interfaceKeyBag
 
 - 
 
 -