搜遍了整个网络,都没有详细的说明。只在一个页面上有介绍,还模棱两可的,地址是:http://docs.oracle.com/cd/E19398-01/820-1228/gfnmj/index.html
后来分析了代码才找到它们的不同。
1. attached 方式是将签名内容和原文放在一起,按 PKCS7 的格式打包。PKCS7的结构中有一段可以放明文,但明文必需进行ASN.1编码。在进行数字签名验证的同时,提取明文。这里的明文实际上是真正内容的摘要。
2. detached 方式打包的 PKCS7格式包中不包含明文信息。因此在验证的时候,还需要传递明文才能验证成功。同理,这里的明文实际上是真正内容的摘要。
从搜索结果来看,detached 方式的应用要频繁得多。
下面的地址有两者的代码示例:
http://blog.sina.com.cn/s/blog_4fcd1ea30100z8rz.html