400 Status - urn:acme:error:malformed - JWS verification error

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.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.