[MONGOCRYPT-259] Generalize kms_request_t Created: 03/Aug/20  Updated: 28/Oct/23  Resolved: 19/Aug/20

Status: Closed
Project: Libmongocrypt
Component/s: None
Affects Version/s: None
Fix Version/s: 1.1.0-beta1

Type: Task Priority: Major - P3
Reporter: Kevin Albertson Assignee: Kevin Albertson
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: MONGOCRYPT-250

 Description   

Currently generating and using a kms_request_t has some AWS specific logic. Constructing with kms_request_new automatically adds an X-Amz-Date header. And there is no way to obtain an HTTP request without the AWS signature.

Goal: Make kms_request_t general enough to send non-AWS specific HTTP requests. This will to make it usable for Azure auth and the REST API.



 Comments   
Comment by Githook User [ 19/Aug/20 ]

Author:

{'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}

Message: MONGOCRYPT-259 generalize kms_request_t

  • Add online tests (test_kms_online) with basic Azure tests, requires
    libmongoc.
  • Add support for coverting between base64 and base64url (Azure uses
    this for representing keys with JWK)
  • Fixup headers to remove cycles.
  • Add a provider option to kms_request_t, to opt out of AWS specific
    logic (kms_request_opt_set_provider).
  • Add kms_response_get_body to get plain HTTP request.
  • Add some test harness assertion helpers.
  • Add kms_response_get_status.
    Branch: master
    https://github.com/mongodb/libmongocrypt/commit/8c75678c1b84fc98eb974c9116d10e7f5f98da9e
Generated at Thu Feb 08 09:08:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.