summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/classes/signing.bbclass21
1 files changed, 21 insertions, 0 deletions
diff --git a/meta-oe/classes/signing.bbclass b/meta-oe/classes/signing.bbclass
index ee32cc12f7..7bc3e7cb12 100644
--- a/meta-oe/classes/signing.bbclass
+++ b/meta-oe/classes/signing.bbclass
@@ -180,6 +180,27 @@ signing_has_ca() {
180 return $? 180 return $?
181} 181}
182 182
183# signing_get_intermediate_certs <cert_name>
184#
185# return a list of role/name intermediary CA certificates for a given
186# <cert_name> by walking the chain setup with signing_import_set_ca.
187#
188# The returned list will not include the the root CA, and can
189# potentially be empty.
190#
191# To be used with SoftHSM.
192signing_get_intermediate_certs() {
193 local cert_name="${1}"
194 local intermediary=""
195 while signing_has_ca "${cert_name}"; do
196 cert_name="$(signing_get_ca ${cert_name})"
197 if signing_has_ca "${cert_name}"; then
198 intermediary="${intermediary} ${cert_name}"
199 fi
200 done
201 echo "${intermediary}"
202}
203
183# signing_get_root_cert <cert_name> 204# signing_get_root_cert <cert_name>
184# 205#
185# return the role/name of the CA root certificate for a given 206# return the role/name of the CA root certificate for a given