我有一个XML数字签名,按照XmlSerializer中的默认值序列化了换行符和缩进。它无法通过.net SignedXml.CheckSignature()测试。如果我删除换行符和缩进,它就会通过。这是预期的行为吗?如果默认序列化或化妆品更改签名会破坏其有效性,签名是否可以被视为健壮且跨平台?我应该考虑二进制pkcs格式的稳健性。使用换行符序列化的签名如下所示。
scala> import collection.JavaConverters._
import collection.JavaConverters._
scala> List(1,2,3).asJava
res0: java.util.List[Int] = [1, 2, 3]
scala> Map(1 -> List(1),2 -> List(2))
res1: scala.collection.immutable.Map[Int,List[Int]] = Map(1 -> List(1), 2 -> List(2))
scala> res1.asJava
res2: java.util.Map[Int,List[Int]] = {1=List(1), 2=List(2)}
scala> res1.map{ case (l,r) => l -> r.asJava}.asJava
res3: java.util.Map[Int,java.util.List[Int]] = {1=[1], 2=[2]}
scala> res1.mapValues(_.asJava).asJava
res5: java.util.Map[Int,java.util.List[Int]] = {1=[1], 2=[2]}