Hey all,
I’m running into trouble getting ACME to accept my new-reg request for a self-coded client. I’m coding in Python using pycrypto for signing functions.
The response received from ACME is:
{
"type": "urn:acme:error:malformed",
"detail": "JWS verification error",
"status": 400
}
My request, sent to https://acme-staging.api.letsencrypt.org/acme/new-reg, is:
{
"header": {
"alg": "RS256",
"jwk": {
"e": "AQAB",
"kty": "RSA",
"n": "y4hEYwMNnugxdUrXOXPoO01grq-Hq8Z1sGnP-3s9QRuXwuJIRa3ywwhleHzGhmKwqfn46zD3NkFyA1dGUFQW2LIpSp8A1h8O3Fwj4qG9q5XeezRmvCFX9H4xIgE4RDIncki7weyr3H0FFUXCXEha38if0lCyZ-7KIc173NKMuEd_M4wfUL1lei8Z-j8dxPDsfQn_wg8DjR2CC-0HC8tBBlXWYYHf4Kx5vc9LLgtwPu4889vTZanAW7oiveZE4g4Yw3Vsl4YleNwnGaU3aFMa6Ma7Wh50Pk0ofNGQHuUwjgC5ZFO5YtGFPVmbXf6M_TrP9-eK8fg2StzWfcxgUiPM8S1MI8O5Q496606tTWFUgeVDI_HGy1DZnOxe877ES-z_K7J-E26ZskLjGDMwyNrT-f5aSsoIWHEdF3v-Ezr0Rk-q4KY2AmgpruhoVegB2IAYdx6n04kDpLem2l8ygseB7PYkH5_Yp8Jl3wBit1yPvQExERtG0feB2wvSLhWWjCx_Wx6jkcvLWRbwUj8j2XO4qWWJGq7wfwHUe2XvVH0XsDsDFMAnZxVh0D3vQTaMWQu4J3wOovgDkMO5MaL1pYyfWTu7M4nZ5T07m3Ww4Pvhhnpm_BvmGmuV1ugKds-pyQj8aKEsmleFi2EVxjzWvRaoizp_f95cDFOdlTXq2SA0Y7M"
}
},
"payload": "eyJyZXNvdXJjZSI6ICJuZXctcmVnIiwgImFncmVlbWVudCI6ICJodHRwczovL2xldHNlbmNyeXB0Lm9yZy9kb2N1bWVudHMvTEUtU0EtdjEuMC4xLUp1bHktMjctMjAxNS5wZGYifQ",
"protected": "eyJub25jZSI6ICJ0RDJPUU05UFJTa255eDU3VTl5eWU4TmpGWU95RmhkSkNNTnFpdHROWWFjIiwgImFsZyI6ICJSUzI1NiIsICJqd2siOiB7ImUiOiAiQVFBQiIsICJrdHkiOiAiUlNBIiwgIm4iOiAieTRoRVl3TU5udWd4ZFVyWE9YUG9PMDFncnEtSHE4WjFzR25QLTNzOVFSdVh3dUpJUmEzeXd3aGxlSHpHaG1Ld3FmbjQ2ekQzTmtGeUExZEdVRlFXMkxJcFNwOEExaDhPM0Z3ajRxRzlxNVhlZXpSbXZDRlg5SDR4SWdFNFJESW5ja2k3d2V5cjNIMEZGVVhDWEVoYTM4aWYwbEN5Wi03S0ljMTczTktNdUVkX000d2ZVTDFsZWk4Wi1qOGR4UERzZlFuX3dnOERqUjJDQy0wSEM4dEJCbFhXWVlIZjRLeDV2YzlMTGd0d1B1NDg4OXZUWmFuQVc3b2l2ZVpFNGc0WXczVnNsNFlsZU53bkdhVTNhRk1hNk1hN1doNTBQazBvZk5HUUh1VXdqZ0M1WkZPNVl0R0ZQVm1iWGY2TV9UclA5LWVLOGZnMlN0eldmY3hnVWlQTThTMU1JOE81UTQ5NjYwNnRUV0ZVZ2VWRElfSEd5MURabk94ZTg3N0VTLXpfSzdKLUUyNlpza0xqR0RNd3lOclQtZjVhU3NvSVdIRWRGM3YtRXpyMFJrLXE0S1kyQW1ncHJ1aG9WZWdCMklBWWR4Nm4wNGtEcExlbTJsOHlnc2VCN1BZa0g1X1lwOEpsM3dCaXQxeVB2UUV4RVJ0RzBmZUIyd3ZTTGhXV2pDeF9XeDZqa2N2TFdSYndVajhqMlhPNHFXV0pHcTd3ZndIVWUyWHZWSDBYc0RzREZNQW5aeFZoMEQzdlFUYU1XUXU0SjN3T292Z0RrTU81TWFMMXBZeWZXVHU3TTRuWjVUMDdtM1d3NFB2aGhucG1fQnZtR211VjF1Z0tkcy1weVFqOGFLRXNtbGVGaTJFVnhqeld2UmFvaXpwX2Y5NWNERk9kbFRYcTJTQTBZN00ifX0",
"signature": "YNn1h0u6OM5V_NhlEg6gHo_33DtwD0EgH_NTmlI_X54FYtLYDNLxjrp3e8VXz2hksOsGd3Eud06jf8xhQTyGB5tkZJGTy0ksqt48Xp3VOviKlc-i8Xwtpp-xoZKXdTgkFQUKgAGN3EoQYKWOC9Q_5lqX2sKrf9Dnr3DRKHujniZ5PhA3oCH2gOHm_AD5V6v13m3VyqaxgGj3iQSPhAvNkNZn9bz9F4bB6xE1WYiTCaStcDTH-6Cdj73aJsRuT58wp0FwLK2LUScfRY5ey5GlSdl1Ijtw-A7zOq_3h0PCwljKD6jOukMZO0ywnA7dOMfUlNUTl_liOJGzlhRLasbv91eM5NfWXVx3ekVlgoWPb6vX_grdbmrFai_mHQtWNfC4rrZKiVmM0bBVi_VfXzuqWQASIHoUNEzJLHw7Y-LmPbCUtyqTYlJmeVViO1vzyYtxjExnq0hnzQUReyVCjnK2pVofs9y0WwPP9dbhtnb7jpackzwnQITJaIh7vJMtd04XMglH5xJjwxjXC8k0GnhuDm2IjEugNEMlbgcwks2R4l9RWpV-WkPr9nRCfTpe-XJ9plfuRi2t2N7qmJ0v1MY6NFwidZxykI2RiDdLfenK-gDMfEOj2x0dYOAlbmk4cHqLoh2B_GnXdCILPb_WPcqD06bS1dtV2qeEOe2bNUiLoUk"
}
Private Key:
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
Public Key:
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAs2M0INnqNZWdUwxc3n9/
OouoFr3WPMYVYYuFV5osoWj8CMmpz3YK6NaVaxrmG/xmeobh++CwdZs7PeXZiTO7
O1mfjKX1ojG5w5AD+KIOfCe4C1mMNkHvPdBhFWcnwBQDO7AXfVTvZXvUAX/wrhqJ
Zam4c9kjP1LwFlnLy5GjHlt/LIyWFS7SC9uB99FGGxExAb2PXLdiAN9lwqfYnx8k
9uyBx4IyX9qmt6QDidOnHncYgNgB6FVo6K4paAI2puCqT0b0OhP+excdcVgIykpa
/vnT2sgwMxjjQrKZbhN+siv/7EvEvvNe7JzZUMvG8SND5YFUYU2tTut6j0O5wyNM
LfHMI1JgzH3W3Eo2+PGK5/fPOv2M/l2bWT2F0WK5U2S5AI4w5R6Q0XwoTT50Hlq7
xugaU2g3pRkn3HglhpdsdcMYDuJE5r0iulvAqWXT2/M87j5wCy5Lz715rODfgWHW
VQZBywsH7QuCHY0DD8L/CX3s8MQdP/oZL3plvVAfjDN/R7iM0tx7zSHK7meyUNKf
yN9aSFzCRRUFfdyr7MG7SHInMkQ4ASIxfvRXIbxmNHvelau9oeIjXNwOH9YAn0op
stgWVFBGVwNyQTb3MOv4+amwYobGfHhlCMPyrUVI4sKXG0E9e/vPabB1xquHr65g
TTvocznXSnUx6J4NA2NEiMsCAwEAAQ==
-----END PUBLIC KEY-----
I’ve tried playing with just about everything and have run out of ideas. Any help would be greatly appreciated!
Thanks.