Я борюсь с двумя файлами: один содержит мою цепочку сертификатов Base64, а другой - закрытый ключ, и я хочу объединить их, чтобы закрытый ключ добавлялся после первого появления
< предварительно>
Код: Выделить всё
-----END CERTIFICATE-----
Would be great to get help with it. Thank you!
Certificate chain file
Код: Выделить всё
-----BEGIN CERTIFICATE-----
... (certificate for your server)...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... (the intermediate certificate)...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... (the root certificate for the CA)...
-----END CERTIFICATE----
Код: Выделить всё
-----BEGIN PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,CFCECC7976725DE5
-----END PRIVATE KEY-----
Код: Выделить всё
-----BEGIN CERTIFICATE-----
... (certificate for your server)...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,CFCECC7976725DE5
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
... (the intermediate certificate)...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... (the root certificate for the CA)...
-----END CERTIFICATE----
Код: Выделить всё
get_new_certificate() {
curl --get "$venafi_url$venafi_get_cert_endpoint?Format=Base64&IncludeChain=true&RootFirstOrder=false" --insecure --data-urlencode "CertificateDN=$certificate_identifier" \
-H "accept: application/json" \
-H "Authorization: Bearer $auth_token" \
-o "$certificate_path"
# Extract the private key block
#private_key=$( awk '/-----BEGIN PRIVATE KEY-----/,/-----END PRIVATE KEY-----/' "$PRIVATE_KEY_PATH" | tr '\n' '\f')
private_key=$( cat "$PRIVATE_KEY_PATH")
# Combine the certificates and private key in the desired order
#sed -i -z "0,/-----END CERTIFICATE-----/s/ $private_key" "$certificate_path" | tr '\f' '\n'
#awk '/-----END CERTIFICATE-----/ {print; print "'"$private_key"'"; next}1' "$cert_chain_files > "updated_combined.pem
#cat $certificate_path
sed -i.bak -e "/-----END CERTIFICATE-----/r $private_key" -e "/-----END CERTIFICATE-----/d" $certificate_path
echo "Got new Certificate"
}
Источник: https://stackoverflow.com/questions/781 ... cific-line
Мобильная версия