Hello Community,
at the Moment I am writing a new acme client in ABAP.
I'm using it against pebble in my personal testing network.
My Pebble CA runs at 192.168.2.210.
what i did so far:
- get the directories
- get the nounce
- create an account
At the moment I am between creating an account and submitting orders I think.
My account creation post looks like:
{ "alg":"RS256", "nonce":"S8XEix1_iKeW6nWrNzy9Rg", "jwk":{ "kty":"RSA", "n":"mm90XmCUI89DpyEVgkFiIZZywo16JTbAHY2O279Zi1p12JF13EugKkAtl8sUp4NAaP4u6AD1TsHz6QIym26iGr0KZKZMxT08x44gSy8fsNgMAsI1VnO9b75wxoPXCAYbemZ8rySFHptazDh3OSXstHTZ5fRhvO2eiOXIcTl_0oMRjQgDSnvg5kBlGfnmdP90xXiaxPSnp8DMQ-N3bHaKF95UXozk42h5HnGGm5bJb1Oh2PVavvY3P72uj3EEb70J9bQgOREOht8ApYpdHl-LRpn35RSTsXfciimC0BIbG5POfSeJ4LEub3ouAOlnvGgz58qiUZiUeFVuPM_zMA558w", "e":"AQAB", "use":"sig" }, "url":"https://192.168.2.210:14000/https://192.168.2.210:14000/sign-me-up" } { "contact":["mailto:mymail@email.org"], "termsOfServiceAgreed": true }
The "url" looks strange to me but pebble seem to want it like that.
Btw, I think at the moment Pebble is not allowed to send emails. Is this important for creating an account or anything like that?
The Response from Pebble is:
{ "status":"valid", "contact":[ "mailto:mymail@email.org" ], "orders":"https://192.168.2.210:14000/list-orderz/1", "key": { "use":"sig", "kty":"RSA", "n":"mm90XmCUI89DpyEVgkFiIZZywo16JTbAHY2O279Zi1p12JF13EugKkAtl8sUp4NAaP4u6AD1TsHz6QIym26iGr0KZKZMxT08x44gSy8fsNgMAsI1VnO9b75wxoPXCAYbemZ8rySFHptazDh3OSXstHTZ5fRhvO2eiOXIcTl_0oMRjQgDSnvg5kBlGfnmdP90xXiaxPSnp8DMQ-N3bHaKF95UXozk42h5HnGGm5bJb1Oh2PVavvY3P72uj3EEb70J9bQgOREOht8ApYpdHl-LRpn35RSTsXfciimC0BIbG5POfSeJ4LEub3ouAOlnvGgz58qiUZiUeFVuPM_zMA558w", "e":"AQAB" } }
Is this "n" now my new account key?
From there I am not really sure what to send.
I tried this:
{ "alg": "RS256", "nonce": "bKJd9KN90QdYXUbuwjTvOw", "kid": "https://192.168.2.210:14000/list-orderz/1", "url": "https://192.168.2.210:14000/https://192.168.2.210:14000/order-plz" } { "contact": [ "mailto:mymail@email.org" ], "termsOfServiceAgreed": true }
but I always get:
{ "type":"urn:ietf:params:acme:error:malformed", "detail":"Key ID (kid) in JWS header missing expected URL prefix", "status": 400 }
Is there a way to get more specific detail on what exactly the CA wants to get in what field at what time?
As i understood, the ACME documentation is not that specific most of the time.
Best regards,
Robin