关于xml签名问题,xmlsec读取

发布于 2022-09-02 23:56:07 字数 1420 浏览 18 评论 0

<?xml  version="1.0"  encoding="UTF-8"?>
<document>
    <request id="request">
        <head>
            <version>1.0.0</version>
            <appid>SHHRSS71</appid>
            <function>xxxx.medical.card.query</function>
            <reqTime>20160229105541</reqTime>
            <reqTimeZone>UTC+8</reqTimeZone>
            <reqMsgId>20160229104541129849135077530072</reqMsgId>
        </head>
        <body>
            <out_order_no>201507137646513821856579626</out_order_no>
            <user_id />
            <user_type />
            <real_name />
        </body>
    </request>
    <signature>2ad0205bfe5d338ac60bf7805670a877dda66f38b168e7479b27f51991f938bd26901782f691d290cc54629294be1b337e57071e38de5ef5eae6d79ec5a09bca5a0af5112f70a0e3df28e2e1c304755b98b0a32a4d1ebb243fc311ce3771803d96a2adaddf63d88686ba97528170e3487dd809fe202d5ab6ad72f2d2ddce3dddcb55943409ef6ff93bc98b8c782502b27675b3f88413c6249899f3e33194c29707d403a1e2fee66513ed1407e032d6dcb3347ab0d00cf21508ed367f49985f605bb1eeef66f92948e4fa4a3c2eda170d98b4e59646d9a59a50dd8ecdf7ad9e0e61723dc29ef8e9628aac56a35afaa2839acc1655276fb38e2f2fa1a6cc9c5a1b</signature>
</document>

这种格式的xml,签名验证,我要拿到signature的值,和request部分,用xmlsec怎么写呢? 是不是签名验证都要用xmlsec来读取xml数据?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多像笑话 2022-09-09 23:56:07

图片描述

    <dependencies>
        <dependency>
            <groupId>xml-security</groupId>
            <artifactId>xmlsec</artifactId>
            <version>1.0.5D2</version>
        </dependency>
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>
  </dependencies>

pom.xml文件中添加依赖

package tt;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Test {

    public static void main(String[] args) {
        File file = new File("D:/a.txt");
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file), "GBK");
            BufferedReader bufferReader = new BufferedReader(inputStreamReader);
            String lineTXT = null;
            String signature = null;
            while ((lineTXT = bufferReader.readLine()) != null) {
                if (lineTXT.trim().startsWith("<signature>")) {
                    signature = lineTXT.trim().substring(11, lineTXT.trim().length() - 12);
                    System.out.println(signature);
                }
            }
            bufferReader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文