如何在bash脚本中传递从secret中读取的.crt内容?[复制]

How to pass the .crt content read from the secrets in bash script? [duplicate]

提问人:coders 提问时间:4/26/2023 最后编辑:coders 更新时间:4/26/2023 访问量:92

问:

我已将 .crt 和 .key 文件的内容复制到 Kubernetes 机密中。然后,当我部署应用程序时,我尝试从 bash 脚本中读取相同的内容,并且我可以读取它。它显示的数据如下(示例示例)

CLIENT_KEY=absncb asdasdas asdasdasd asdasdasd== asdasddf

当我使用上面显示的CLIENT_KEY使用下面的 shell 脚本生成 .pkc12 文件时,我收到一个错误,例如 pkcs12: Use -help for summary。

#!/bin/bash

hdlKey=absncb asdasdas asdasdasd asdasdasd== asdasddf
hdlCert=absncb asdasdas asdasdasd asdasdasd== asdasddf asadasdii

function checkHDLKey(){
  if [ -z "$hdlKey" ] && [ -z "$hdlCert"]; then
    echo "ERROR - HDL values were not properly read"
  else
    echo $hdlKey
    echo $hdlCert
  fi
}

checkHDLKey

PCK12_PATH="/app/pk12/client-keystore.p12"

function generate_password {
  KEY=$(openssl rand -base64 16)
  echo $KEY
}

result=$(generate_password)
echo $result

function generate_pkc12_cert {
    # Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)
    echo "Inside generate_pkc12_cert"
    (openssl pkcs12 -export -inkey $hdlKey -in $hdlCert -out "/app/pk12/client-keystore.p12" -password pass:$result)
    echo "Done generate_pkc12_cert "
}

generate_pkc12_cert

任何帮助将不胜感激。这也是阅读它的写入方式吗?

Bash 外壳 CRT

评论

2赞 Cyrus 4/26/2023
若要获取一些有用的提示,请将脚本粘贴到 shellcheck.net
0赞 Charles Duffy 4/26/2023
-in并期望文件名,而不是文字键数据。将变量写入文件,传递这些文件的名称。正如 Cyrus 所说,将您的脚本粘贴到 shellcheck 并修复它给您的所有引用错误。-inkey
0赞 Charles Duffy 4/26/2023
顺便说一句,您可以获得一个文件引用,当读取时将返回变量的内容,如下所示。这同样适用于 .-in <(printf '%s\n' "$hdlCert")-inkey <(printf '%s\n' "$hdlKey")
0赞 coders 4/26/2023
嗨,@CharlesDuffy,我正在从密封的秘密中获取值。当我阅读它时,它显示的数据如下......MIIC+TCCAeECCQDpEYmrobxxxzANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJV UzETMBEGA1UECAwKQ2FsaWZvcm5pYTEMMAoGA1UEBwwDTlBCMQwwCgYDVQQKDANT QVAxCzAJBgNVBAsMAkNYMRcwFQYDVQQDDA5EUC1ERVYtSERMLVVTMjAeFw0yMzAz MjkyMzUyMzZaFw0yMzA3MDcyMzUyMzZaMB3MDcyMzUyMzZaMB3MDcyMzUyMzZaMBmkxFzAVBgNVBAMMDkRQLURFVi1IREwt VVMyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtFKTPsKh7vCSwrOX 0EqUUh3ygO0N3nQcAwopcjoF+xjGgZO54ZJdJV71e2yUdAMMdLPKdq09MiNtK/D4 SSP5YWoF7X0S+pJQI3K3SybhcNVWEFs0XngzA747dDVekTjnaQpsmV8OUyjYQGRG
0赞 coders 4/26/2023
@CharlesDuffy我们在密封的秘密中没有文件。内容的存储方式就像我上面粘贴的那样。

答: 暂无答案