类 SignatureUtil


  • @Component
    public class SignatureUtil
    extends Object
    交易签名工具类 Transaction Signature Tool Class
    作者:
    tag 2018/10/10
    • 构造器详细资料

      • SignatureUtil

        public SignatureUtil()
    • 方法详细资料

      • validateTransactionSignture

        public static boolean validateTransactionSignture​(int chainId,
                                                          Transaction tx)
                                                   throws NulsException
        验证交易中所有签名正确性
        参数:
        chainId - 当前链ID
        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
      • 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 - 秘钥列表
      • createSignatureByPriKey

        public static P2PHKSignature createSignatureByPriKey​(Transaction tx,
                                                             String priKey)
        生成交易的签名传统
        参数:
        tx - 交易
        priKey - 私钥
      • createSignatureByEckey

        public static P2PHKSignature createSignatureByEckey​(Transaction tx,
                                                            ECKey ecKey)
        生成交易的签名传统
        参数:
        tx - 交易
        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 - 签名的私钥