Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BouncyCastle CMSSignedDataStreamGenerator更改符号上的数据_Java_Security_Bouncycastle - Fatal编程技术网

Java BouncyCastle CMSSignedDataStreamGenerator更改符号上的数据

Java BouncyCastle CMSSignedDataStreamGenerator更改符号上的数据,java,security,bouncycastle,Java,Security,Bouncycastle,我有以下java代码(BouncyCastle 1.48): 现在:数据已签名并写入signedData.txt文件。 问题是某些字符写错了(数据是一个包含base64编码内容的mime容器)。以下是数据的一个片段: ICAgIDxOQU1FLUFERFJFU1M+CiAgICAgICAgICA8TkFNRT4KICAgICAgICAgICAg PExpbmUtMzU+TXVzdGVya3VuZGUgUGV0ZXIgSHV???,???èiZXI8L0xpbmUtMzU+CiAgICAg ICA

我有以下java代码(BouncyCastle 1.48):

现在:数据已签名并写入signedData.txt文件。 问题是某些字符写错了(数据是一个包含base64编码内容的mime容器)。以下是数据的一个片段:

ICAgIDxOQU1FLUFERFJFU1M+CiAgICAgICAgICA8TkFNRT4KICAgICAgICAgICAg
PExpbmUtMzU+TXVzdGVya3VuZGUgUGV0ZXIgSHV???,???èiZXI8L0xpbmUtMzU+CiAgICAg
ICAgICA8L05BTUU+CiAgICAgICAgICA8U1RSRUVUPgogICAgICAgICAgICA8TGlu
在哪里???,???代表[EOT],[ETX](ascii控制字符表示“传输结束”和“文本结束”。在原始源数据中,没有出现错误字符:…SHV??,??iZX…最初是…SHViZHX

第二个片段:

Content-Transfer-Encoding: base64
Content-Type: application/pdf
Content-[EOT]‚[ETX]Description: The PDF Title
有人能帮我吗?我做错了什么

致以最良好的祝愿,
Florian

您了解CMS SignedData是ASN.1格式吗?这意味着有额外的字段和结构标记;您的原始数据被封装在此结构中。如果您不想封装原始数据,只需生成一个签名,则将“封装”参数的“false”传递给open()。即generator.open(fos,假)

当然,您可能需要随签名一起发送原始数据,这取决于您试图实现的目标

如果您感兴趣,“每1000个字母”是由于生成器将您的数据“八进制字符串”分解为1000字节块,这是CMSSignedDataStreamGenerator生成的BER编码的一部分(BER是编码ASN.1结构(如SignedData)的一种方式)


我也会考虑是否应该签署内容的BASE-64编码,或者原始乱数假文可能更合适。显然,任何试图验证签名的人都需要清楚地知道签名是什么。< / P>附加:内容是什么。我用标准的LROM IMPAND文本和TH尝试。添加2:这些ascii字符在数据中每1000个字母出现一次。

Content-Transfer-Encoding: base64
Content-Type: application/pdf
Content-[EOT]‚[ETX]Description: The PDF Title