hello,
I'm trying to use the joyent manta storage service via their REST api.
https://apidocs.joyent.com/manta/api.html

For that i need to implement http signature over TLS.
Here is a shell function that does that;
function manta {

local alg=rsa-sha256
local keyId=/$MANTA_USER/keys/$MANTA_KEY_ID
local now=$(date -u "+%a, %d %h %Y %H:%M:%S GMT")
local sig=$(echo "date:" $now | \
            tr -d '\n' | \
            openssl dgst -sha256 -sign $HOME/.ssh/id_rsa | \
            openssl enc -e -a | tr -d '\n')

curl -sS $MANTA_URL"$@" -H "date: $now"  \
-H "Authorization: Signature keyId=\"$keyId\",algorithm=\"$alg\",signature=\"$sig\""
}

How can I implement it in D using vibe.d? Specifically how do I sign and encode using my private key in D; openssl dgst -sha256 -sign $HOME/.ssh/id_rsa | openssl enc -e -a | tr -d '\n')

Thanks.

Reply via email to