test -s "$PASSWORD_STORE_DIR/${cert.passPrefix}/${id}/key.pem.gpg" || {
info " generateKey: $PASSWORD_STORE_DIR/${cert.passPrefix}/${id}/key.pem.gpg"
${pkgs.openssl}/bin/openssl genrsa \
- -out stdout \
-rand /dev/urandom \
${toString cert.keySize} |
${pkgs.pass}/bin/pass insert --multiline "${cert.passPrefix}/${id}/key.pem"
set -eu
# SYNTAX: $url
x509="''${x509:-x509}"
- url="$1"
+ url="$1"; shift
host=$(
printf %s "$url" |
${pkgs.gnused}/bin/sed \
mkdir -p "x509/$host"
begin="-----BEGIN CERTIFICATE-----"
end="-----END CERTIFICATE-----"
+ set -x
echo |
- "$tool"/openssl s_client \
+ ${pkgs.openssl}/bin/openssl s_client \
-showcerts \
-servername "$servername" \
-connect "$host" \
options.openssl = {
enable = lib.mkEnableOption "Configuration of X.509 certificates";
opensslHome = lib.mkOption {
- type = types.path;
+ type = types.str;
default = "sec/openssl";
description = ''
OpenSSL's directory.