小编use*_*166的帖子

如何仅签名XML文件的一部分-Java XMLSignature

我是新手,我很着急。我只是想对XML的一部分进行数字签名。

要签名的XML是这样的:

    <?xml version="1.0" encoding="UTF-8"?><ns0:CEE_Adenda xmlns:ns0="http://adenda.es" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://adenda.es Test_v1.xsd">
<ns0:CEE version="1.0" xmlns:ns0="http://adenda.es">//XML to sing
............ 
</ns0:CEE>
<ns0:Adenda> //Part to exclude
......
</ns0:Adenda>
</ns0:CEE_Adenda>
Run Code Online (Sandbox Code Playgroud)

,以获得这样的结构:

        <?xml version="1.0" encoding="UTF-8"?><ns0:CEE_Adenda xmlns:ns0="http://adenda.es" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://adenda.es Test_v1.xsd">
    <ns0:CEE version="1.0" xmlns:ns0="http://adenda.es">//XML to sing
    ............ 
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <Reference URI="">
        <Transforms>
            <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
        <DigestValue>vMg+tzKiwC8epApusLGo23at0ss=</DigestValue>
    </Reference>
</SignedInfo>
<SignatureValue>dVqqHp437r7jAeEOB6mxgSOKnpT6EITRscd0mzA/zDep3Wkg1CM/m0ojDHnlkC7l
    </ns0:CEE>
    <ns0:Adenda> //Part to exclude
    ......
    </ns0:Adenda>
    </ns0:CEE_Adenda>
Run Code Online (Sandbox Code Playgroud)

这是我用来尝试对其进行签名的代码,但是我只需要对XML的一部分进行签名并将结果放入此标记中。

这是我正在使用的代码:

//Create a DOM XMLSignatureFactory that will be used to
        // generate the …
Run Code Online (Sandbox Code Playgroud)

java xml-signature

2
推荐指数
1
解决办法
3841
查看次数

symfony 4:驱动程序发生异常:找不到驱动程序

使用以下配置 (doctrine.yaml) 在 Symfony 4 中使用 Doctrine DBAL:

dbal:
    # configure these for your database server
    driver: 'pdo_mysql'
    server_version: '5.7'
    charset: utf8mb4
    default_table_options:
        charset: utf8mb4
        collate: utf8mb4_unicode_ci

    url: '%env(resolve:DATABASE_URL)%'
    driver_class: App\DBAL\Driver\PDOMySql\Driver
Run Code Online (Sandbox Code Playgroud)

和.env:

DATABASE_URL=mysql://root:passwd@127.0.0.1:3306/dbname
Run Code Online (Sandbox Code Playgroud)

我们无法通过 DBAL 连接到数据库:

$conn = DriverManager::getConnection(Constants::connectionParams,new Configuration());
Run Code Online (Sandbox Code Playgroud)

获取驱动程序中发生异常:找不到驱动程序异常。我在 S4 的这个版本中没有找到关于该错误的文档。

doctrine symfony dbal symfony4

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

dbal ×1

doctrine ×1

java ×1

symfony ×1

symfony4 ×1

xml-signature ×1