Skip to content

Commit

Permalink
tests wip
Browse files Browse the repository at this point in the history
  • Loading branch information
boorad committed Jun 12, 2024
1 parent 54f5b4e commit 0b40eae
Showing 1 changed file with 160 additions and 0 deletions.
160 changes: 160 additions & 0 deletions example/src/testing/Tests/webcryptoTests/sign_verify.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
import crypto from 'react-native-quick-crypto';
import { describe, it } from '../../MochaRNAdapter';
import { expect } from 'chai';


Check failure on line 5 in example/src/testing/Tests/webcryptoTests/sign_verify.ts

View workflow job for this annotation

GitHub Actions / JS Lint (eslint, prettier)

Delete `⏎`
const { subtle } = crypto;

describe('subtle - sign / verify', () => {
// // Test Sign/Verify RSASSA-PKCS1-v1_5
// {
// async function test(data) {
// const ec = new TextEncoder();
// const { publicKey, privateKey } = await subtle.generateKey({
// name: 'RSASSA-PKCS1-v1_5',
// modulusLength: 1024,
// publicExponent: new Uint8Array([1, 0, 1]),
// hash: 'SHA-256'
// }, true, ['sign', 'verify']);

// const signature = await subtle.sign({
// name: 'RSASSA-PKCS1-v1_5'
// }, privateKey, ec.encode(data));

// assert(await subtle.verify({
// name: 'RSASSA-PKCS1-v1_5'
// }, publicKey, signature, ec.encode(data)));
// }

// test('hello world').then(common.mustCall());
// }

// // Test Sign/Verify RSA-PSS
// {
// async function test(data) {
// const ec = new TextEncoder();
// const { publicKey, privateKey } = await subtle.generateKey({
// name: 'RSA-PSS',
// modulusLength: 4096,
// publicExponent: new Uint8Array([1, 0, 1]),
// hash: 'SHA-256'
// }, true, ['sign', 'verify']);

// const signature = await subtle.sign({
// name: 'RSA-PSS',
// saltLength: 256,
// }, privateKey, ec.encode(data));

// assert(await subtle.verify({
// name: 'RSA-PSS',
// saltLength: 256,
// }, publicKey, signature, ec.encode(data)));
// }

// test('hello world').then(common.mustCall());
// }

// Test Sign/Verify ECDSA
// eslint-disable-next-line no-lone-blocks
{
async function test(data: string) {
const ec = new TextEncoder();
const { publicKey, privateKey } = await subtle.generateKey(
{
name: 'ECDSA',
namedCurve: 'P-384',
},
true,
['sign', 'verify']
);

const signature = await subtle.sign(
{
name: 'ECDSA',
hash: 'SHA-384',
},
privateKey,
ec.encode(data)
);

expect(
await subtle.verify(
{
name: 'ECDSA',
hash: 'SHA-384',
},
publicKey,
signature,
ec.encode(data)
)
).to.equal(true);
}

it('ECDSA', () => {
test('hello world');
});
}

// // Test Sign/Verify HMAC
// {
// async function test(data) {
// const ec = new TextEncoder();

// const key = await subtle.generateKey({
// name: 'HMAC',
// length: 256,
// hash: 'SHA-256'
// }, true, ['sign', 'verify']);

// const signature = await subtle.sign({
// name: 'HMAC',
// }, key, ec.encode(data));

// assert(await subtle.verify({
// name: 'HMAC',
// }, key, signature, ec.encode(data)));
// }

// test('hello world').then(common.mustCall());
// }

// // Test Sign/Verify Ed25519
// {
// async function test(data) {
// const ec = new TextEncoder();
// const { publicKey, privateKey } = await subtle.generateKey({
// name: 'Ed25519',
// }, true, ['sign', 'verify']);

// const signature = await subtle.sign({
// name: 'Ed25519',
// }, privateKey, ec.encode(data));

// assert(await subtle.verify({
// name: 'Ed25519',
// }, publicKey, signature, ec.encode(data)));
// }

// test('hello world').then(common.mustCall());
// }

// // Test Sign/Verify Ed448
// {
// async function test(data) {
// const ec = new TextEncoder();
// const { publicKey, privateKey } = await subtle.generateKey({
// name: 'Ed448',
// }, true, ['sign', 'verify']);

// const signature = await subtle.sign({
// name: 'Ed448',
// }, privateKey, ec.encode(data));

// assert(await subtle.verify({
// name: 'Ed448',
// }, publicKey, signature, ec.encode(data)));
// }

// test('hello world').then(common.mustCall());
// }
});

0 comments on commit 0b40eae

Please sign in to comment.