Skip to main content

SignatureProcessor

对输入数据流的内容进行SHA1, MD5等算法的签名,并将签名值放入属性或替换数据流内容输出。

参数说明

签名算法

支持SHA、MD5等等大部分签名算法。

  • MD
    • MD5
  • SHA
    • SHA-1
    • SHA-224
    • SHA-256
    • SHA-384
    • SHA-512
  • RSA
    • MD5withRSA
    • SHA1WithRSA
    • SHA256withRSA
    • SHA512withRSA
  • DSA
    • SHA1withDSA
    • SHA224withDSA
    • SHA256withDSA
  • EC
    • NONEwithECDSA
    • SHA1withECDSA
    • SHA224withECDSA
    • SHA256withECDSA
    • SHA512withECDSA
  • MAC
    • HmacMD5
    • HmacSHA1
    • HmacSHA256
    • HmacSHA512

目标输出

指定签名输入数据流内容的结果输出到那里:

  • 数据流属性 ,签名的结果将作为新属性“signature”的值,跟随原始数据流一起输出。
  • 数据流内容,将签名结果作为新数据流内容输出,原数据流内容将被替换掉

读数据缓存大小

指定读取输入数据流数据的缓存大小,尤其是针对大文件处理,可适当加大缓存以帮助提高签名效率。

目前默认值为8KB (即8192B, 8192字节)。

支持设置B(字节), KB(千), MB(兆), GB(吉,千兆), TB(太,兆兆)

私钥/密码

当选择了相应的“签名算法”后,对于部分签名算法需要指定私钥或密码。

比如私钥部分内容为:

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDAy5fSenxybCd3
PY61qels6oofEAGPTk6RjDJumneTCEH5h2Qfrrgr4v+TrIuwx+wt2OR7yeGaMBtC
ywRrnlwMwq3wyYxyjB0azGcGZty+1PwrYg4tzkhv+C1vAGR5a7PgAGBcLhY3dXGc
......
......
......
-----END PRIVATE KEY-----
  • MD5和SHA-***,无需设置该参数,即忽略该参数设置。
  • SHA***WithRSA,需要提供PKCS8格式的RSA私钥。
  • SHA***withDSA,需要提供PKCS8格式的DSA私钥。
  • SHA***withECDSA,需要提供PKCS8格式的EC私钥。
  • HmacSHA***和HmacMD5,需要指定一签名密码

签名编码格式

指定计算签名获得的字节结果的编码格式,均采用Apache Codec库来进行编码,可根据需求选择:

  • 16进制编码,比如:
86fb269d190d2c85f6e0468ceca42a20
  • Base64
hvsmnRkNLIX24EaM7KQqIA==

字符编码(弃用)

指定输入数据流内容的字符编码,为兼容老版本仅能处理文本内容时的编码,故而参数保留。

示例

将测试数据“Hello World!” 通过该组件进行签名。

私钥签名

签名结果作为"数据流属性"输出:

其中SignatureProcessor组件设置为:

由于签名算法选用了“SHA1WithRSA”, 所以需要提供“私钥”设置(这里使用了一个在线工具生成的一个测试私钥)。

目标输出选`“数据流属性”,则结果为:

目标输出选`“数据流内容”,则原始的输入数据流内容被替换成了签名结果:

MD5签名

SignatureProcessor组件设置为:

无需设置私钥,并且“目标输出”为"数据流属性":

流程模板

参见附件(请右键另存保存):sign-flow示例