类 SignatureUtil
- java.lang.Object
-
- network.nerve.base.signture.SignatureUtil
-
@Component public class SignatureUtil extends Object
交易签名工具类 Transaction Signature Tool Class- 作者:
- tag 2018/10/10
-
-
构造器概要
构造器 构造器 说明 SignatureUtil()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static booleancontainsAddress(Transaction tx, byte[] address, int chainId)判断交易是否存在某地址static voidcreateOrAddTransactionSignture(Transaction tx, List<ECKey> signEckeys)签名或者追加签名static P2PHKSignaturecreateSignatureByEckey(NulsHash hash, ECKey ecKey)static P2PHKSignaturecreateSignatureByEckey(Transaction tx, ECKey ecKey)生成交易的签名传统static P2PHKSignaturecreateSignatureByPriKey(Transaction tx, String priKey)生成交易的签名传统static List<P2PHKSignature>createSignaturesByEckey(NulsHash hash, List<ECKey> eckeys)static List<P2PHKSignature>createSignaturesByEckey(Transaction tx, List<ECKey> eckeys)生成交易多个传统签名(多地址转账可能会用到)static voidcreateTransactionSignture(Transaction tx, List<ECKey> signEckeys)生成交易TransactionSignturestatic booleanctxSignatureValid(int chainId, Transaction tx)跨链交易验证签名static Set<String>getAddressFromTX(Transaction tx, int chainId)获取交易签名地址static NulsSignDatasignDigest(byte[] digest, ECKey ecKey)生成交易签名static booleanvalidateCtxSignture(Transaction tx)跨链交易验证签名static booleanvalidateSignture(byte[] digestBytes, P2PHKSignature p2PHKSignature)验证数据签名static booleanvalidateTransactionSignture(int chainId, Transaction tx)验证交易中所有签名正确性static booleanvalidMultiScriptSign(byte[] digestBytes, LinkedList<byte[]> signtures, LinkedList<byte[]> pubkeys)多重签名脚本签名验证
-
-
-
方法详细资料
-
validateTransactionSignture
public static boolean validateTransactionSignture(int chainId, Transaction tx) throws NulsException验证交易中所有签名正确性- 参数:
chainId- 当前链IDtx- 交易- 抛出:
NulsException
-
ctxSignatureValid
public static boolean ctxSignatureValid(int chainId, Transaction tx) throws NulsException跨链交易验证签名- 参数:
tx- 交易- 抛出:
NulsException
-
validateCtxSignture
public static boolean validateCtxSignture(Transaction tx) throws NulsException
跨链交易验证签名- 参数:
tx- 交易- 抛出:
NulsException
-
validateSignture
public static boolean validateSignture(byte[] digestBytes, P2PHKSignature p2PHKSignature) throws NulsException验证数据签名- 参数:
digestBytes-p2PHKSignature-- 返回:
- 抛出:
NulsException
-
containsAddress
public static boolean containsAddress(Transaction tx, byte[] address, int chainId) throws NulsException
判断交易是否存在某地址- 参数:
tx- 交易- 抛出:
NulsException
-
getAddressFromTX
public static Set<String> getAddressFromTX(Transaction tx, int chainId) throws NulsException
获取交易签名地址- 参数:
tx- 交易- 抛出:
NulsException
-
createTransactionSignture
public static void createTransactionSignture(Transaction tx, List<ECKey> signEckeys) throws IOException
生成交易TransactionSignture- 参数:
tx- 交易signEckeys- 需要生成普通签名的秘钥- 抛出:
IOException
-
createOrAddTransactionSignture
public static void createOrAddTransactionSignture(Transaction tx, List<ECKey> signEckeys) throws Exception
签名或者追加签名- 参数:
tx- 交易signEckeys- 需要生成普通签名的秘钥- 抛出:
Exception
-
createSignaturesByEckey
public static List<P2PHKSignature> createSignaturesByEckey(Transaction tx, List<ECKey> eckeys)
生成交易多个传统签名(多地址转账可能会用到)- 参数:
tx- 交易eckeys- 秘钥列表
-
createSignaturesByEckey
public static List<P2PHKSignature> createSignaturesByEckey(NulsHash hash, List<ECKey> eckeys)
-
createSignatureByPriKey
public static P2PHKSignature createSignatureByPriKey(Transaction tx, String priKey)
生成交易的签名传统- 参数:
tx- 交易priKey- 私钥
-
createSignatureByEckey
public static P2PHKSignature createSignatureByEckey(Transaction tx, ECKey ecKey)
生成交易的签名传统- 参数:
tx- 交易ecKey- 秘钥
-
createSignatureByEckey
public static P2PHKSignature createSignatureByEckey(NulsHash hash, ECKey ecKey)
-
validMultiScriptSign
public static boolean validMultiScriptSign(byte[] digestBytes, LinkedList<byte[]> signtures, LinkedList<byte[]> pubkeys)多重签名脚本签名验证- 参数:
digestBytes- 验证的签名数据signtures- 签名列表
-
signDigest
public static NulsSignData signDigest(byte[] digest, ECKey ecKey)
生成交易签名- 参数:
digest- 需要签名的交易数据ecKey- 签名的私钥
-
-