Implement the "SHA512withRSA" algorithm using OpenSSL

I have a bash script that allows you to encrypt data using a secret key and the “SHA512withRSA” algorithm:

secret="LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRQ2hhc29PR24wVkljTVIKZWlLWTlZd0txMVkzM3JRY2VxYnNjRFYxeUg3aVNWTWljazBZNHl3SnMrKzBJTllRZjhzU09tNmptQVJrRjFnSwo2Ym1VVkxlc1lIRzBWRW85ZkdIKy9RN28zSEJFa0UzVmJka0dwMHFBZy9WY09kWUlNRVNEOW0yTDVYdUJ1K3c3ClZTdjQ2T2x4QjRaZEtDYkVBbEhtSGVxL1VGRVV3OWhGc3V0OXkxNjUxLyszclV6NXBubjFKRldoRWVRUm5HK1kKaG5GZVRVWGZQbnA5RTFTWGM3RlFlUnViSnJFTFFTbmx5czRaQklpN1JRbVJPSG10YnB5S2tRNkNiTzUxZHhRRAppSHpOeUkza1Q0SkdMQUlIV2RqN2xOQWFXSTc2YktKMUswTWp5YTdULzJwd2cvdXpFVVJVaDI0TDRhOTRqUWNECkY1WEFtaG1mQWdNQkFBRUNnZ0VBSUdPN3lLbXpDSzcrSS84a2V4bm1jR3VpQU5MOHhDd3VXNHBHaCt4ajNZZEcKR2NiaXhvZ3JHWVZVSjRwaE9lMVNzOFVxMTBQVk9icGZiYzBwY21TdmVIVGZ6QVlQNFplWVdHQ3lBYkxlQ2p3RQppanVoRFU4N1NWOXhPQURZL0VxbkxPMmhYSzEvSTNDd2ZkVmczZkRxaXNZdVJYb2RrVDQvN2RONSs4cWpnbTFhCkNpTHd5d251b3ZoNG5oNWN5MnY1cVpIMVI3ekhLYU5oTWpITXpRUHRrZURTVVZ2aDY4VUc4RWdacjdiTHBYOGsKVjNxSExzVzNVVFJQQW9yVmtmNlAvVEdxVjJnMGhyWnhyQStXSnAvdUlzUVZ1bDZ2YUVJZzZjaFF6b0hXTC9xVwo5RHQrSE90dHpLK3RTRTFoOENTdTVhNWlmV1ZoTVNybWdJRS9RSUNuTlFLQmdRRGVlZjNPOENWZDNueDMvTnlsClFxQlljZERUOTh4WG9SWjV3blFJdTkvYXI2dnZZU2V6cHNYZ0xxak9ONVIxUTBLUmNTbkpTNFllR2k4RXhxTUcKb1k4UGY1dnF6a1kreXJrRklWMVBkeWRxNkhlTWl0VXFqNUVUQWUwYlhNMzNsVUJVNWhPM1ExTk9MVkdqWllMcQowSkNrWGxCckg5RFp1bXEyd2NQTktaUXRNd0tCZ1FDNXZYQkhIa0VWVkFmdis3TGgwL1RRUE5XRTlRRzFUK0JiCnR3cXJzNkc1aGtvL3hMdmNjQm5Rd1paOGNiUmZHNmhtS1ErVC91U2xPZTJoWUdlR1VtMjM1TytGeHRra0ZMT1kKem9DRUc3RVRNN1djVDdCUTZkd2V3WVNKaVhicWo4TG1pSnhMWW5FK1paSjB6aWd6Rm5LV29VanRhbG13TUtmLwoyVTBEaCsycDVRS0JnUUNQR2pMNjZCZHhBTXBaTjhvSmR3akN1enNURFVKZ1gxcWdxVWFQMDZFUy9vcCtxS1NyCjl5c3luM0N2YktyT25wdjBCN0ZVTElNeFc3QkF4ekJYOUpXYjUzNDRFOFMxWVJxUHhUMUsveDdZc24wclpxWGwKQVlIVWt4bWJ6eDhoRU56WGYwTFJUN29IQURtUis1cXhSY1MwSllKZTFaRTJhNlYydHI0bWVvYzRad0tCZ1FDSwoveTFLeTJWQkpNVmIzaXdidTVaMVQxRXFVbitZdzlIT1VNaDNmZElGR0czd0VyWFRYVUMwYkdyRmJnSGhPcjFtCjFrdUdJVFhTUCt1STNMQWNZUXNpbHZ4NFREcXJPYUs5TTZ3Uk1QZnV1citwM2lqQUpJSkpzZUFSWFFIVXZ3akgKcEd2eUxoVTQ4S0lOTDBuK0VVcG5Wd05RU0VvZUJBdDA5NVVlazFaVDBRS0JnUUNDemxjL2tuTytwT0xyZXJKRwpUSStCVUJleDZXc0hxR1pLTElWVlRSMUtZbU1TUDRuWVNjRDJoS1JSZ2poSzcxNHdqNVU4Uzhkak0wek9VQ3JDCkJqY3VtZ3Q2aGhZUWVNZGdXdURlcHF1bk9CeEpSN3FLcWxNQmVRZmFrVFR4L1dDV2xUck1YVUhVR3NiSmhQZ3oKZ3RCWVpHVTU3U3U4S0N3WXJ2UTVJTmhQbFE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg=="
data="timestamp=1703619355237"

encoded_data=$(echo -n "$data")
decoded_private_key=$(echo -n "$secret" | base64 -d)

# Create a temporary file for the private key
private_key_file=$(mktemp)
echo -n "$decoded_private_key" > "$private_key_file"

hashed=$(echo -n "$encoded_data" | openssl dgst -sha512 -binary)
signed=$(openssl pkeyutl -sign -inkey "$private_key_file" -in <(echo -n "$hashed") -pkeyopt digest:sha512)

rm "$private_key_file"

result=$(echo -n "$signed" | base64)

echo "Result: $result"

and I get this result:

Result: KJhg543LmY8lBdXoO8+GGaj8V6Aga2SD7hd/kmmZLSAsyDSpQOF540UDtGuhTGtOWAvGaRUuShlpxNI8pfMBOnAkSTfR+GojhXBYYyFOmDYCB9GkMOZEmGkSfU9PZrHury7Rri3Lu3tuNF6yECZfougcP8i6E7ctvoXJNipeyjUiMEt8dmaUuMdSGnD7ENRrP7hfjSQ8+oX0TTbUHYLrAmabN0Twfir11YCQpweV+Y1Dvu5OMHZmk9yhDdkezk9W4TB2vQGmxB72DdDX39QoLlivuMUBTTZRyMAR4PJA2ZLqE74ir+Uaa05JIA4zsDLhD4+dBrd4JdplJX1Ppo8bKQ==

I tried to implement this on Julia, but using the run and Cmd commands

using Base64

secret = "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRQ2hhc29PR24wVkljTVIKZWlLWTlZd0txMVkzM3JRY2VxYnNjRFYxeUg3aVNWTWljazBZNHl3SnMrKzBJTllRZjhzU09tNmptQVJrRjFnSwo2Ym1VVkxlc1lIRzBWRW85ZkdIKy9RN28zSEJFa0UzVmJka0dwMHFBZy9WY09kWUlNRVNEOW0yTDVYdUJ1K3c3ClZTdjQ2T2x4QjRaZEtDYkVBbEhtSGVxL1VGRVV3OWhGc3V0OXkxNjUxLyszclV6NXBubjFKRldoRWVRUm5HK1kKaG5GZVRVWGZQbnA5RTFTWGM3RlFlUnViSnJFTFFTbmx5czRaQklpN1JRbVJPSG10YnB5S2tRNkNiTzUxZHhRRAppSHpOeUkza1Q0SkdMQUlIV2RqN2xOQWFXSTc2YktKMUswTWp5YTdULzJwd2cvdXpFVVJVaDI0TDRhOTRqUWNECkY1WEFtaG1mQWdNQkFBRUNnZ0VBSUdPN3lLbXpDSzcrSS84a2V4bm1jR3VpQU5MOHhDd3VXNHBHaCt4ajNZZEcKR2NiaXhvZ3JHWVZVSjRwaE9lMVNzOFVxMTBQVk9icGZiYzBwY21TdmVIVGZ6QVlQNFplWVdHQ3lBYkxlQ2p3RQppanVoRFU4N1NWOXhPQURZL0VxbkxPMmhYSzEvSTNDd2ZkVmczZkRxaXNZdVJYb2RrVDQvN2RONSs4cWpnbTFhCkNpTHd5d251b3ZoNG5oNWN5MnY1cVpIMVI3ekhLYU5oTWpITXpRUHRrZURTVVZ2aDY4VUc4RWdacjdiTHBYOGsKVjNxSExzVzNVVFJQQW9yVmtmNlAvVEdxVjJnMGhyWnhyQStXSnAvdUlzUVZ1bDZ2YUVJZzZjaFF6b0hXTC9xVwo5RHQrSE90dHpLK3RTRTFoOENTdTVhNWlmV1ZoTVNybWdJRS9RSUNuTlFLQmdRRGVlZjNPOENWZDNueDMvTnlsClFxQlljZERUOTh4WG9SWjV3blFJdTkvYXI2dnZZU2V6cHNYZ0xxak9ONVIxUTBLUmNTbkpTNFllR2k4RXhxTUcKb1k4UGY1dnF6a1kreXJrRklWMVBkeWRxNkhlTWl0VXFqNUVUQWUwYlhNMzNsVUJVNWhPM1ExTk9MVkdqWllMcQowSkNrWGxCckg5RFp1bXEyd2NQTktaUXRNd0tCZ1FDNXZYQkhIa0VWVkFmdis3TGgwL1RRUE5XRTlRRzFUK0JiCnR3cXJzNkc1aGtvL3hMdmNjQm5Rd1paOGNiUmZHNmhtS1ErVC91U2xPZTJoWUdlR1VtMjM1TytGeHRra0ZMT1kKem9DRUc3RVRNN1djVDdCUTZkd2V3WVNKaVhicWo4TG1pSnhMWW5FK1paSjB6aWd6Rm5LV29VanRhbG13TUtmLwoyVTBEaCsycDVRS0JnUUNQR2pMNjZCZHhBTXBaTjhvSmR3akN1enNURFVKZ1gxcWdxVWFQMDZFUy9vcCtxS1NyCjl5c3luM0N2YktyT25wdjBCN0ZVTElNeFc3QkF4ekJYOUpXYjUzNDRFOFMxWVJxUHhUMUsveDdZc24wclpxWGwKQVlIVWt4bWJ6eDhoRU56WGYwTFJUN29IQURtUis1cXhSY1MwSllKZTFaRTJhNlYydHI0bWVvYzRad0tCZ1FDSwoveTFLeTJWQkpNVmIzaXdidTVaMVQxRXFVbitZdzlIT1VNaDNmZElGR0czd0VyWFRYVUMwYkdyRmJnSGhPcjFtCjFrdUdJVFhTUCt1STNMQWNZUXNpbHZ4NFREcXJPYUs5TTZ3Uk1QZnV1citwM2lqQUpJSkpzZUFSWFFIVXZ3akgKcEd2eUxoVTQ4S0lOTDBuK0VVcG5Wd05RU0VvZUJBdDA5NVVlazFaVDBRS0JnUUNDemxjL2tuTytwT0xyZXJKRwpUSStCVUJleDZXc0hxR1pLTElWVlRSMUtZbU1TUDRuWVNjRDJoS1JSZ2poSzcxNHdqNVU4Uzhkak0wek9VQ3JDCkJqY3VtZ3Q2aGhZUWVNZGdXdURlcHF1bk9CeEpSN3FLcWxNQmVRZmFrVFR4L1dDV2xUck1YVUhVR3NiSmhQZ3oKZ3RCWVpHVTU3U3U4S0N3WXJ2UTVJTmhQbFE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg=="

data = "timestamp=1703619355237"

private_file = joinpath(homedir(), "private_file")
hashed_file = joinpath(homedir(), "hashed_file")

write(private_file, base64decode(secret))

run(`/bin/bash -c "echo -n \"$data\" | openssl dgst -sha512 -binary > $(hashed_file)"`)
result = read(Cmd(`/bin/bash -c "openssl pkeyutl -sign -inkey $private_file -in $hashed_file -pkeyopt digest:sha512"`), String)

rm(private_file)
rm(hashed_file)

return base64encode(result)

The question is, is it possible to implement this functionality using package OpenSSL?