【发布时间】:2015-11-18 23:17:06
【问题描述】:
我使用 JAXB 生成 XML 并将许可证签名添加到生成的 xml 中,格式如下: xmlFile.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Users>
<User>.....</User>
<Signature></Signature><!-- This is generated using RSA and SHA -->
</Users>
Java 类:
public class Users {
private List<User> userList;
private String signature;
//Setters & Getters goes here
}
现在将使用 jaxb 对其进行解析,但提取签名内容(包括标签),使用 XSL 设置为用户对象,并将在我的设计中单独保存到数据库中。后来为了验证这个许可证,我再次形成了一个 XML,但由于我使用现有信息并创建了一个 XML,它创建的 XML 如下所述:
resultXMl.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Users>
<User>.....</User>
<signature><Signature></Signature><!-- This is generated using RSA and SHA --></signature>
</Users>
根据 JAXB 实现,它是正确的,但签名现在有两个标签。任何人都可以建议我如何实现这一目标。或者还有其他方法可以封装 xml 吗?
【问题讨论】:
-
使用 XML-DSIG:stackoverflow.com/a/17198794/3558960
-
此解决方案对我不起作用,因为您正在根据 JAXB 生成的 xml 创建签名。我已经这样做了。但我的需要是我已将这些信息分别保存到 DB 中,现在一段时间后我想验证该许可证,所以我正在根据 DB 详细信息重新构建 xml,当我发送它进行验证时必须有效。我希望你能解决我的问题。
-
请不要使用 “非常感谢您立即回复。” 之类的短语。无论意图多么友好和即将到来,这不是其他人根据命令执行您的工作的站点,并且此类请求通常不受欢迎。还有其他(付费)网站,您可以要求快速响应。另见faq 和How to Ask。