UPDATE profile SET
extensions = $d(extensions),
issue_time = $d(issue-time),
- start_skew = $(start-skew),
+ start_skew = $d(start-skew),
expire_interval = $d(expire-interval),
tombstone = 0
WHERE label = $p;
openssl dgst -sha256 -hex] end]
}
+proc hack-openssl-dn {out} {
+ ## Convert OpenSSL's hopeless output into a DN.
+
+ if {[regexp {^subject=\s*(/.*)$} $out -> dn]} { return $dn }
+ if {[regexp {^subject=(.*)$} $out -> t]} {
+ set t [regsub {^(\w+) = } $t {/\1=}]
+ set t [regsub -all {, (\w+) = } $t {/\1=}]
+ return $t
+ }
+}
+
proc req-dn {file} {
## Return the distinguished name from the certificate request in FILE.
- regexp {^subject=\s*(/.*)$} \
- [exec openssl req -in $file -noout -subject] \
- -> dn
- return $dn
+ return [hack-openssl-dn [exec openssl req -in $file -noout -subject]]
}
proc cert-key-hash {file} {
proc cert-dn {file} {
## Return the distinguished name from the certificate in FILE.
- regexp {^subject=\s*(/.*)$} \
- [exec openssl x509 -in $file -noout -subject] \
- -> dn
- return $dn
+ return [hack-openssl-dn [exec openssl x509 -in $file -noout -subject]]
}
proc cert-seq {file} {