pki:need-certificate( $template-id as xs:unsignedLong, $common-name as xs:string, $dns-name as xs:string?, $ip-addr as xs:string? ) as xs:boolean
This function returns true if the certificate specified by the template id and host combination are not signed by a trusted certificate authority. Otherwise, false is returned. The common name must be specified. The DNS name and IP address are optional.
(: execute this against the security database :) xquery version "1.0-ml"; import module namespace pki = "http://marklogic.com/xdmp/pki" at "/MarkLogic/pki.xqy"; import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; "The certificates for the following templates are unsigned:", "", let $config := admin:get-configuration() let $hostname := admin:host-get-name( $config, admin:host-get-id($config, xdmp:host-name())) for $tid in pki:get-template-ids() return if (pki:need-certificate($tid, $hostname, (), ())) then pki:template-get-name(pki:get-template($tid)) else () (: Returns the list templates for which there are unsigned certificates. :)
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.