Прежде всего, очень похожий вопрос существует здесь Получение неверного ответа на запрос при попытке регистрации с использованием ионного метода
Я попробовал приемлемое решение для вышеуказанного вопроса, но это не работал
Я пытаюсь вызвать API регистрации для сети ion-test. Я уже создал JWS, используя make-jws.js
. Но всякий раз, когда я использую запрос curl, я получаю неверный запрос.
Вот полная команда curl: curl -v -H "Content-Type: application/json" --data '{"header":{"alg":"ES256K","kid":"#key-1","operation":"create","proofOfWork":"{}"},"payload":"eyJAY29udGV4dCI6Imh0dHBzOi8vdzNpZC5vcmcvZGlkL3YxIiwicHVibGljS2V5IjpbeyJpZCI6IiNrZXktMSIsInR5cGUiOiJTZWNwMjU2azFWZXJpZmljYXRpb25LZXkyMDE4IiwicHVibGljS2V5SndrIjp7Imt0eSI6IkVDIiwia2lkIjoiI2tleS0xIiwiY3J2IjoiUC0yNTZLIiwieCI6InRNTUF0cUVGRWJKUHdFOVdyNkNWaEs3WGxvb2hKNkp0RERMUmZIaTBqZ2siLCJ5IjoiVmxpRTJ3OWdrcXFyNjlnVE9QZEJsWlh5amFYNF94TFd2aGFGdWhXM3hBZyIsInVzZSI6InZlcmlmeSIsImRlZmF1bHRFbmNyeXB0aW9uQWxnb3JpdGhtIjoibm9uZSIsImRlZmF1bHRTaWduQWxnb3JpdGhtIjoiRVMyNTZLIn19XSwic2VydmljZSI6W3siaWQiOiJJZGVudGl0eUh1YiIsInR5cGUiOiJJZGVudGl0eUh1YiIsInNlcnZpY2VFbmRwb2ludCI6eyJAY29udGV4dCI6InNjaGVtYS5pZGVudGl0eS5mb3VuZGF0aW9uL2h1YiIsIkB0eXBlIjoiVXNlclNlcnZpY2VFbmRwb2ludCIsImluc3RhbmNlIjpbImRpZDp0ZXN0Omh1Yi5pZCJdfX1dfQ","signature":"MEUCIGBOsUFlieQ4q-j6Qrn4iakGhtyVSR2orBXWGLHRGRfrAiEArAyqs6pNxR_gd5-s_8B-3XYhxFfSDjRSZnzDfikM6q8"}' -X POST https://beta.ion.microsoft.com/api/1.0/register
Вот мой JWS: {"header":{"alg":"ES256K","kid":"#key-1","operation":"create","proofOfWork":"{}"},"payload":"eyJAY29udGV4dCI6Imh0dHBzOi8vdzNpZC5vcmcvZGlkL3YxIiwicHVibGljS2V5IjpbeyJpZCI6IiNrZXktMSIsInR5cGUiOiJTZWNwMjU2azFWZXJpZmljYXRpb25LZXkyMDE4IiwicHVibGljS2V5SndrIjp7Imt0eSI6IkVDIiwia2lkIjoiI2tleS0xIiwiY3J2IjoiUC0yNTZLIiwieCI6InRNTUF0cUVGRWJKUHdFOVdyNkNWaEs3WGxvb2hKNkp0RERMUmZIaTBqZ2siLCJ5IjoiVmxpRTJ3OWdrcXFyNjlnVE9QZEJsWlh5amFYNF94TFd2aGFGdWhXM3hBZyIsInVzZSI6InZlcmlmeSIsImRlZmF1bHRFbmNyeXB0aW9uQWxnb3JpdGhtIjoibm9uZSIsImRlZmF1bHRTaWduQWxnb3JpdGhtIjoiRVMyNTZLIn19XSwic2VydmljZSI6W3siaWQiOiJJZGVudGl0eUh1YiIsInR5cGUiOiJJZGVudGl0eUh1YiIsInNlcnZpY2VFbmRwb2ludCI6eyJAY29udGV4dCI6InNjaGVtYS5pZGVudGl0eS5mb3VuZGF0aW9uL2h1YiIsIkB0eXBlIjoiVXNlclNlcnZpY2VFbmRwb2ludCIsImluc3RhbmNlIjpbImRpZDp0ZXN0Omh1Yi5pZCJdfX1dfQ","signature":"MEUCIGBOsUFlieQ4q-j6Qrn4iakGhtyVSR2orBXWGLHRGRfrAiEArAyqs6pNxR_gd5-s_8B-3XYhxFfSDjRSZnzDfikM6q8"}
Ожидаемый вывод :
HTTP/1.1 200 OK
Content-Length: 395
Content-Type: application/json
{
"@context": "https://w3id.org/did/v1",
"publicKey": [
{
"id": "#key-1",
"type": "Secp256k1VerificationKey2018",
"publicKeyJwk": {
"kty": "EC",
"kid": "#key-1",
"crv": "P-256K",
"x": "p7Mt2Z6hXu8g_I62owqmNcrj3t1nRoWslB8eQ7JP0yY",
"y": "KRp11VQmCLjvxTk7TWx9Pbj2fHPt5SoXQwzEYs1Cnac",
"use": "verify",
"defaultEncryptionAlgorithm": "none",
"defaultSignAlgorithm": "ES256K"
}
}
],
"service": [
{
"id": "IdentityHub",
"type": "IdentityHub",
"serviceEndpoint": {
"@context": "schema.identity.foundation/hub",
"@type": "UserServiceEndpoint",
"instance": [
"did:test:hub.id"
]
}
}
],
"id": "did:ion-test:EiCrsG_DLDmSKic1eaeJGDtUoC1dj8tj19nTRD9ODzAjaQ"
}
Вывод получаю:
C:\Users\Tushar\Desktop\FYP>curl -v -H "Content-Type: application/json" --data '{"header":{"alg":"ES256K","kid":"#key-1","operation":"create","proofOfWork":"{}"},"payload":"eyJAY29udGV4dCI6Imh0dHBzOi8vdzNpZC5vcmcv
ZGlkL3YxIiwicHVibGljS2V5IjpbeyJpZCI6IiNrZXktMSIsInR5cGUiOiJTZWNwMjU2azFWZXJpZmljYXRpb25LZXkyMDE4IiwicHVibGljS2V5SndrIjp7Imt0eSI6IkVDIiwia2lkIjoiI2tleS0xIiwiY3J2IjoiUC0yNTZLIiwieCI6InRNTUF0cUVGRWJKUHdFOVdyNkNWaEs3W
Gxvb2hKNkp0RERMUmZIaTBqZ2siLCJ5IjoiVmxpRTJ3OWdrcXFyNjlnVE9QZEJsWlh5amFYNF94TFd2aGFGdWhXM3hBZyIsInVzZSI6InZlcmlmeSIsImRlZmF1bHRFbmNyeXB0aW9uQWxnb3JpdGhtIjoibm9uZSIsImRlZmF1bHRTaWduQWxnb3JpdGhtIjoiRVMyNTZLIn19XSwic2
VydmljZSI6W3siaWQiOiJJZGVudGl0eUh1YiIsInR5cGUiOiJJZGVudGl0eUh1YiIsInNlcnZpY2VFbmRwb2ludCI6eyJAY29udGV4dCI6InNjaGVtYS5pZGVudGl0eS5mb3VuZGF0aW9uL2h1YiIsIkB0eXBlIjoiVXNlclNlcnZpY2VFbmRwb2ludCIsImluc3RhbmNlIjpbImRpZDp
0ZXN0Omh1Yi5pZCJdfX1dfQ","signature":"MEUCIGBOsUFlieQ4q-j6Qrn4iakGhtyVSR2orBXWGLHRGRfrAiEArAyqs6pNxR_gd5-s_8B-3XYhxFfSDjRSZnzDfikM6q8"}' -X POST https://beta.ion.microsoft.com/api/1.0/register
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 52.183.24.15...
* TCP_NODELAY set
* Connected to beta.ion.microsoft.com (52.183.24.15) port 443 (#0)
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 1/3)
* schannel: checking server certificate revocation
* schannel: sending initial handshake data: sending 187 bytes...
* schannel: sent initial handshake data: sent 187 bytes
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 2/3)
* schannel: failed to receive handshake, need more data
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 2/3)
* schannel: encrypted data got 1328
* schannel: encrypted data buffer: offset 1328 length 4096
* schannel: encrypted data length: 1260
* schannel: encrypted data buffer: offset 1260 length 4096
* schannel: received incomplete message, need more data
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 2/3)
* schannel: encrypted data got 2836
* schannel: encrypted data buffer: offset 4096 length 4096
* schannel: received incomplete message, need more data
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 2/3)
* schannel: encrypted data got 827
* schannel: encrypted data buffer: offset 4923 length 5120
* schannel: sending next handshake data: sending 93 bytes...
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 2/3)
* schannel: encrypted data got 258
* schannel: encrypted data buffer: offset 258 length 5120
* schannel: SSL/TLS handshake complete
* schannel: SSL/TLS connection with beta.ion.microsoft.com port 443 (step 3/3)
* schannel: stored credential handle in session cache
> POST /api/1.0/register HTTP/1.1
> Host: beta.ion.microsoft.com
> User-Agent: curl/7.55.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 883
>
* upload completely sent off: 883 out of 883 bytes
* schannel: client wants to read 102400 bytes
* schannel: encdata_buffer resized 103424
* schannel: encrypted data buffer: offset 0 length 103424
* schannel: encrypted data got 265
* schannel: encrypted data buffer: offset 265 length 103424
* schannel: decrypted data length: 236
* schannel: decrypted data added: 236
* schannel: decrypted data cached: offset 236 length 102400
* schannel: encrypted data buffer: offset 0 length 103424
* schannel: decrypted data buffer: offset 236 length 102400
* schannel: schannel_recv cleanup
* schannel: decrypted data returned 236
* schannel: decrypted data buffer: offset 0 length 102400
< HTTP/1.1 400 Bad Request
< request-id: 02626a62-b30d-4659-8965-c0982719006f
< content-type: text/plain; charset=utf-8
< content-length: 11
< date: Sun, 12 Apr 2020 19:09:25 GMT
< x-envoy-upstream-service-time: 2
< server: envoy
<
Bad Request* Connection #0 to host beta.ion.microsoft.com left intact