/* * Copyright (c) 2023, stelar7 * Copyright (c) 2024, Andrew Kaster * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include // FIXME: Generate these from IDL namespace Web::Bindings { // https://w3c.github.io/webcrypto/#JsonWebKey-dictionary struct RsaOtherPrimesInfo { Optional r; Optional d; Optional t; }; // https://w3c.github.io/webcrypto/#JsonWebKey-dictionary struct JsonWebKey { Optional kty; Optional use; Optional> key_ops; Optional alg; Optional ext; Optional crv; Optional x; Optional y; Optional d; Optional n; Optional e; Optional p; Optional q; Optional dp; Optional dq; Optional qi; Optional> oth; Optional k; JS::ThrowCompletionOr> to_object(JS::Realm&); static JS::ThrowCompletionOr parse(JS::Realm& realm, ReadonlyBytes data); }; }