【问题标题】:Received certificate error message when returning to redirect URI in DocuSign API在 DocuSign API 返回重定向 URI 时收到证书错误消息
【发布时间】:2021-03-15 22:01:06
【问题描述】:

我正在尝试使用 Oracle Application Express 测试 DocuSign 电子签名 API。我收到一个 Oracle 错误: ORA-29273:HTTP 请求失败 ORA-06512:在“SYS.UTL_HTTP”,第 1130 行 ORA-29024:证书验证失败

我让 Oracle DBA 安装了 3 个基于开发人员环境端点的 DocuSign 证书到 Oracle Wallet,用于身份验证和 REST API,基于我从以下 DocuSign 网页中找到的 T:

https://developers.docusign.com/docs/esign-rest-api/how-to/

https://account-d.docusign.com(这也重定向到https://appdemo.docusign.com/home,所以我也包括了这个 https://demo.docusign.net/

但在返回我的应用程序时出现错误(重定向 URI)。

请提供具体的证书或完整的 URL,以便我自己下载证书。

罗伯特

【问题讨论】:

    标签: oracle oracle-apex docusignapi oracle-wallet


    【解决方案1】:

    通常的问题是您没有将 root 证书添加到您的文档存储中。对于 DocuSign,这就是 DigiCert 根证书。见DocuSign cert list

    添加

    根证书在颁发者部分引用自己。对于 DocuSign,这是 DigiCert 证书:https://www.docusign.com/sites/default/files/digicerthighassuranceevrootca_2.crt

    您可以通过以文本格式转储来检查您是否拥有正确的证书,见下文。

    这是文本转储的重要部分,表明证书是根证书(它引用自己):

    Certificate:
        Data:
            ...
            Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, 
                    CN = DigiCert High Assurance EV Root CA
            Subject: C = US, O = DigiCert Inc, OU = www.digicert.com, 
                     CN = DigiCert High Assurance EV Root CA
    
    

    完整的证书转储

    $ openssl x509 -in ~/Downloads/digicerthighassuranceevrootca_2.crt -text -noout -inform der
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
            Signature Algorithm: sha1WithRSAEncryption
            Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA
            Validity
                Not Before: Nov 10 00:00:00 2006 GMT
                Not After : Nov 10 00:00:00 2031 GMT
            Subject: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA
            Subject Public Key Info:
                Public Key Algorithm: rsaEncryption
                    RSA Public-Key: (2048 bit)
                    Modulus:
                        00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
                        e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
                        a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
                        a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
                        cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
                        91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
                        f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
                        55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
                        be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
                        ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
                        22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
                        57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
                        68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
                        64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
                        39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
                        a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
                        87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
                        4b:cb
                    Exponent: 65537 (0x10001)
            X509v3 extensions:
                X509v3 Key Usage: critical
                    Digital Signature, Certificate Sign, CRL Sign
                X509v3 Basic Constraints: critical
                    CA:TRUE
                X509v3 Subject Key Identifier: 
                    B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
                X509v3 Authority Key Identifier: 
                    keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
    
        Signature Algorithm: sha1WithRSAEncryption
             1c:1a:06:97:dc:d7:9c:9f:3c:88:66:06:08:57:21:db:21:47:
             f8:2a:67:aa:bf:18:32:76:40:10:57:c1:8a:f3:7a:d9:11:65:
             8e:35:fa:9e:fc:45:b5:9e:d9:4c:31:4b:b8:91:e8:43:2c:8e:
             b3:78:ce:db:e3:53:79:71:d6:e5:21:94:01:da:55:87:9a:24:
             64:f6:8a:66:cc:de:9c:37:cd:a8:34:b1:69:9b:23:c8:9e:78:
             22:2b:70:43:e3:55:47:31:61:19:ef:58:c5:85:2f:4e:30:f6:
             a0:31:16:23:c8:e7:e2:65:16:33:cb:bf:1a:1b:a0:3d:f8:ca:
             5e:8b:31:8b:60:08:89:2d:0c:06:5c:52:b7:c4:f9:0a:98:d1:
             15:5f:9f:12:be:7c:36:63:38:bd:44:a4:7f:e4:26:2b:0a:c4:
             97:69:0d:e9:8c:e2:c0:10:57:b8:c8:76:12:91:55:f2:48:69:
             d8:bc:2a:02:5b:0f:44:d4:20:31:db:f4:ba:70:26:5d:90:60:
             9e:bc:4b:17:09:2f:b4:cb:1e:43:68:c9:07:27:c1:d2:5c:f7:
             ea:21:b9:68:12:9c:3c:9c:bf:9e:fc:80:5c:9b:63:cd:ec:47:
             aa:25:27:67:a0:37:f3:00:82:7d:54:d7:a9:f8:e9:2e:13:a3:
             77:e8:1f:4a
    

    增加了一些

    您仍在从您的框架接收 TLS 级别的 Certificate validation failure...一些建议的后续步骤:

    检查客户端(您的应用)和服务器 (DocuSign) 之间的实际 TLS 协议。通过捕获跟踪文件并使用WireShark 读取它来做到这一点。 WireShark wiki 包含有关如何获取跟踪的说明。

    可能是不同类型的证书问题,例如支持的密码不匹配。

    也可能是某种程度的错误配置。例如,您的应用框架是否使用 TLS 1.2? DocuSign 不支持 TLS 1.0(或 1.3)。 TLS 1.1 即将推出。

    一个常见问题是,当 TLS 级别出现问题时,许多框架没有提供好的细节。

    如果您仍然遇到问题,请向 DocuSign 的开发人员支持小组开具支持票。 (但鉴于您目前的调查,他们向您提出的第一个请求将是请求 TLS 级别的跟踪。)

    【讨论】:

    • 我将 DigiCert 根证书添加到 Oracle 钱包,但重定向后我仍然收到相同的错误。我看到它在受信任证书下的钱包中列为“主题:CN = DocuSign Inc Root CA”。我错过了什么?
    • 我的 DBA 将 DigiCert 根证书添加到 Oracle 钱包,但重定向后我仍然收到相同的错误。我看到它在受信任证书下的钱包中列为“主题:CN = DocuSign Inc Root CA”。我错过了什么?
    • 您没有添加正确的根目录。请参阅我的更新答案。
    • 我将证书复制为 base-64 编码的 X.509 格式。我在 Windows 中打开证书并确认颁发者和主题与上述信息匹配(Digicert High Assurance EV Root EA)。我不得不让 DBA 将 .cer 文件复制到 Oracle Wallet 和 ACL 授权,但我仍然遇到同样的错误。这非常令人沮丧,但我非常感谢您的帮助。请帮忙。
    • 运行以下 URL 时出现错误;account-d.docusign.com/oauth/…
    猜你喜欢
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2013-11-16
    相关资源
    最近更新 更多