feat: support sha256 brainpoolP224r1

This commit is contained in:
ayman
2024-12-30 19:52:01 +05:30
parent dbdeef8d3b
commit 164baf46c2
9 changed files with 52 additions and 3 deletions

View File

@@ -46,6 +46,7 @@ export const MAX_PADDED_ECONTENT_LEN: Partial<
ecdsa_sha512_brainpoolP256r1_256: 640,
ecdsa_sha512_brainpoolP384r1_384: 640,
ecdsa_sha1_brainpoolP224r1_224: 320,
ecdsa_sha256_brainpoolP224r1_224: 384,
};
export const MAX_PADDED_SIGNED_ATTR_LEN: Partial<
@@ -71,6 +72,7 @@ export const MAX_PADDED_SIGNED_ATTR_LEN: Partial<
ecdsa_sha512_brainpoolP256r1_256: 256,
ecdsa_sha512_brainpoolP384r1_384: 256,
ecdsa_sha1_brainpoolP224r1_224: 192,
ecdsa_sha256_brainpoolP224r1_224: 192,
};
export const MAX_CERT_BYTES: Partial<Record<keyof typeof SignatureAlgorithmIndex, number>> = {
@@ -120,6 +122,7 @@ export enum SignatureAlgorithmIndex {
ecdsa_sha512_brainpoolP256r1_256 = 25,
ecdsa_sha512_brainpoolP384r1_384 = 26,
ecdsa_sha1_brainpoolP224r1_224 = 27,
ecdsa_sha256_brainpoolP224r1_224 = 28,
}
export const attributeToPosition = {

View File

@@ -1265,6 +1265,27 @@ jnD0AhwDAIPS8xytmOiI0MuVj3kwdnzTLdsGslSkmj8l
-----END CERTIFICATE-----
`;
export const mock_dsc_key_sha256_brainpoolP224r1 = `-----BEGIN EC PRIVATE KEY-----
MGwCAQEEHEtm6OSi3EClphbb0ovVMLNX6SCQ/ZpYsFTjlnqgCwYJKyQDAwIIAQEF
oTwDOgAEb8kcLsVLjpC1RWAjA/lRTHP2HVdW1ntmtfo1g2R6E6NkgLetsRXxc8Sn
CJ71v4bL9/50ksOiv+U=
-----END EC PRIVATE KEY-----
`;
export const mock_dsc_sha256_brainpoolP224r1 = `-----BEGIN CERTIFICATE-----
MIIB0DCCAX6gAwIBAgIUVaUBruPv+13YqSDtb28faYlca1UwCgYIKoZIzj0EAwIw
RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu
dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDEyMzAxNDA2NTZaFw0yNTEyMzAx
NDA2NTZaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD
VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwUjAUBgcqhkjOPQIBBgkrJAMD
AggBAQUDOgAEb8kcLsVLjpC1RWAjA/lRTHP2HVdW1ntmtfo1g2R6E6NkgLetsRXx
c8SnCJ71v4bL9/50ksOiv+WjUzBRMB0GA1UdDgQWBBR1oPnSab+m00bxFqyJ2/17
V1yMzzAfBgNVHSMEGDAWgBR1oPnSab+m00bxFqyJ2/17V1yMzzAPBgNVHRMBAf8E
BTADAQH/MAoGCCqGSM49BAMCA0AAMD0CHQCXfviMoPED3c43XbavcZkccHVwxOYq
aUpntBqzAhwqxYeED8F9yQVTF3NWcAd1kmySSE79HoCpjdTZ
-----END CERTIFICATE-----
`;
export const mock_dsc_key_sha256_brainpoolP256r1 = `-----BEGIN EC PRIVATE KEY-----
MHgCAQEEIGJigSc0XAA6G8o5znqeZyr6vM33jfVLKjIenqGZni8poAsGCSskAwMC
CAEBB6FEA0IABDu2bqyQM7+NJRN1jSaQK0DW2a99g2U6JjGGIVMq0n2gZYOKFx9E

View File

@@ -46,6 +46,8 @@ import {
mock_dsc_sha512_brainpoolP384r1,
mock_dsc_key_sha1_brainpoolP224r1,
mock_dsc_sha1_brainpoolP224r1,
mock_dsc_key_sha256_brainpoolP224r1,
mock_dsc_sha256_brainpoolP224r1,
} from '../constants/mockCertificates';
import { sampleDataHashes_small, sampleDataHashes_large } from '../constants/sampleDataHashes';
import { countryCodes } from '../constants/constants';
@@ -206,6 +208,11 @@ export function genMockPassportData(
privateKeyPem = mock_dsc_key_sha1_brainpoolP224r1;
dsc = mock_dsc_sha1_brainpoolP224r1;
break;
case 'ecdsa_sha256_brainpoolP224r1_224':
sampleDataHashes = genSampleDataHashes('large', 32);
privateKeyPem = mock_dsc_key_sha256_brainpoolP224r1;
dsc = mock_dsc_sha256_brainpoolP224r1;
break;
}
const { hashFunction, hashLen } = parseCertificate(dsc);

View File

@@ -35,7 +35,8 @@ export type SignatureAlgorithm =
| 'rsapss_sha256_65537_4096'
| 'ecdsa_sha384_brainpoolP384r1_384'
| 'ecdsa_sha512_brainpoolP384r1_384'
| 'ecdsa_sha1_brainpoolP224r1_224';
| 'ecdsa_sha1_brainpoolP224r1_224'
| 'ecdsa_sha256_brainpoolP224r1_224';
export type Proof = {
proof: {