如何验证CRL是否位于安全MarkLogic数据库中?

时间:2017-01-11 17:12:58

标签: marklogic

文档说明CRL已插入安全数据库,但我无法使用xdmp:document-get(" pca3.crl")对安全数据库找到该文件。

https://docs.marklogic.com/pki:insert-certificate-revocation-list

  xquery version "1.0-ml"; 

  import module namespace pki = "http://marklogic.com/xdmp/pki" 
  at "/MarkLogic/pki.xqy";

  let $URI := "http://crl.verisign.com/pca3.crl"

  return
    pki:insert-certificate-revocation-list(
       $URI, 
       xdmp:document-get($URI)/binary() )

  (: Inserts a CRL from Verisign into the database. :)

1 个答案:

答案 0 :(得分:2)

您可以在查询控制台中使用以下命令列出所有certifiate-revocation-lists:

cts:uri-match("*crls*")

网址由以下部分组成: (可能是一些root)+ / crls / +(原始URI的hash64整数)。 因此,您假设原始文件名或URL是URL的可见部分是无效的。

如果您想验证您的CRLS,那么这应该是一种快速的方式:

declare namespace pki = "http://marklogic.com/xdmp/pki"

doc()[.//pki:url="http://crl.verisign.com/pca3.crl"]

此外,如果您想查找文档,可以这样找到:

declare namespace pki = "http://marklogic.com/xdmp/pki"

fn:document-uri(doc()[.//pki:url="http://crl.verisign.com/pca3.crl"])

请注意,我避免使用元素值或单词搜索,因为这些可能不会为安全数据库启用。