mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 22:58:20 -05:00
add rsapss-sha256-65537
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
pragma circom 2.1.9;
|
||||
|
||||
include "../openpassport_prove.circom";
|
||||
|
||||
component main { public [ scope, user_identifier, current_date] } = OPENPASSPORT_PROVE(12, 64, 64, 384, 192, 20);
|
||||
@@ -14,6 +14,10 @@ pragma circom 2.1.9;
|
||||
13: rsa_sha256_3_2048
|
||||
14: rsa_sha256_65537_3072
|
||||
15: rsa_sha512_65537_4096
|
||||
16: rsapss_sha256_3_3072
|
||||
17: rsapss_sha256_3_4096
|
||||
18: rsapss_sha384_65537_3072
|
||||
19: rsapss_sha256_65537_3072
|
||||
*/
|
||||
|
||||
function getHashLength(signatureAlgorithm) {
|
||||
@@ -53,6 +57,21 @@ function getHashLength(signatureAlgorithm) {
|
||||
if (signatureAlgorithm == 15) {
|
||||
return 512;
|
||||
}
|
||||
if (signatureAlgorithm == 16) {
|
||||
return 256;
|
||||
}
|
||||
if (signatureAlgorithm == 17) {
|
||||
return 256;
|
||||
}
|
||||
if (signatureAlgorithm == 18) {
|
||||
return 384;
|
||||
}
|
||||
if (signatureAlgorithm == 19) {
|
||||
return 256;
|
||||
}
|
||||
if (signatureAlgorithm == 20) {
|
||||
return 256;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -93,6 +112,18 @@ function getKeyLength(signatureAlgorithm) {
|
||||
if (signatureAlgorithm == 15) {
|
||||
return 4096;
|
||||
}
|
||||
if (signatureAlgorithm == 16) {
|
||||
return 3072;
|
||||
}
|
||||
if (signatureAlgorithm == 17) {
|
||||
return 4096;
|
||||
}
|
||||
if (signatureAlgorithm == 18) {
|
||||
return 3072;
|
||||
}
|
||||
if (signatureAlgorithm == 19) {
|
||||
return 3072;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -134,6 +165,18 @@ function getKLengthFactor(signatureAlgorithm) {
|
||||
if (signatureAlgorithm == 15) {
|
||||
return 1;
|
||||
}
|
||||
if (signatureAlgorithm == 16) {
|
||||
return 1;
|
||||
}
|
||||
if (signatureAlgorithm == 17) {
|
||||
return 1;
|
||||
}
|
||||
if (signatureAlgorithm == 18) {
|
||||
return 1;
|
||||
}
|
||||
if (signatureAlgorithm == 19) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
@@ -155,6 +198,9 @@ function getExponentBits(signatureAlgorithm) {
|
||||
if (signatureAlgorithm == 11) {
|
||||
return 17;
|
||||
}
|
||||
if (signatureAlgorithm == 12) {
|
||||
return 17;
|
||||
}
|
||||
if (signatureAlgorithm == 13) {
|
||||
return 2; // 3
|
||||
}
|
||||
@@ -164,6 +210,18 @@ function getExponentBits(signatureAlgorithm) {
|
||||
if (signatureAlgorithm == 15) {
|
||||
return 17;
|
||||
}
|
||||
if (signatureAlgorithm == 16) {
|
||||
return 2;
|
||||
}
|
||||
if (signatureAlgorithm == 17) {
|
||||
return 2;
|
||||
}
|
||||
if (signatureAlgorithm == 18) {
|
||||
return 17;
|
||||
}
|
||||
if (signatureAlgorithm == 19) {
|
||||
return 17;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ pragma circom 2.1.9;
|
||||
|
||||
// include "../rsa/rsaPkcs1.circom";
|
||||
// include "secp256r1Verifier.circom";
|
||||
// include "../rsapss/rsapss.circom";
|
||||
include "../rsapss/rsapss.circom";
|
||||
// include "../rsa/rsa.circom";
|
||||
include "../rsa/verifyRsaPkcs1v1_5.circom";
|
||||
include "../circomlib/utils/bytes.circom";
|
||||
@@ -55,13 +55,29 @@ template SignatureVerifier(signatureAlgorithm, n, k) {
|
||||
// rsa.dummy <== 0;
|
||||
}
|
||||
|
||||
if (signatureAlgorithm == 4 || signatureAlgorithm == 12) {
|
||||
// var pubKeyBitsLength = getKeyLength(signatureAlgorithm);
|
||||
if (
|
||||
signatureAlgorithm == 4
|
||||
|| signatureAlgorithm == 12
|
||||
|| signatureAlgorithm == 16
|
||||
|| signatureAlgorithm == 17
|
||||
|| signatureAlgorithm == 18
|
||||
|| signatureAlgorithm == 19
|
||||
) {
|
||||
var pubKeyBitsLength = getKeyLength(signatureAlgorithm);
|
||||
var SALT_LEN = HASH_LEN_BITS / 8;
|
||||
var E_BITS = getExponentBits(signatureAlgorithm);
|
||||
var EXP;
|
||||
if (E_BITS == 17) {
|
||||
EXP = 65537;
|
||||
} else {
|
||||
EXP = 3;
|
||||
}
|
||||
|
||||
// component rsaPssSha256Verification = VerifyRsaPssSig(n, k, HASH_LEN_BITS, pubKeyBitsLength);
|
||||
// rsaPssSha256Verification.pubkey <== pubKey;
|
||||
// rsaPssSha256Verification.signature <== signature;
|
||||
// rsaPssSha256Verification.hashed <== hash; // send the raw hash
|
||||
component rsaPssShaVerification = VerifyRsaPssSig(n, k, SALT_LEN, EXP, HASH_LEN_BITS);
|
||||
rsaPssShaVerification.pubkey <== pubKey;
|
||||
rsaPssShaVerification.signature <== signature;
|
||||
rsaPssShaVerification.hashed <== hash; // send the raw hash
|
||||
rsaPssShaVerification.dummy <== 0;
|
||||
|
||||
}
|
||||
if (signatureAlgorithm == 7) {
|
||||
|
||||
@@ -1,3 +1,149 @@
|
||||
pragma circom 2.1.6;
|
||||
|
||||
// include "../bitify/bitify.circom";
|
||||
include "../circomlib/bitify/bitify.circom";
|
||||
// include "../sha2/sha256/sha256_hash_bits.circom";
|
||||
|
||||
template Mgf1Sha384(SEED_LEN, MASK_LEN) { //in bytes
|
||||
var SEED_LEN_BITS = SEED_LEN * 8;
|
||||
var MASK_LEN_BITS = MASK_LEN * 8;
|
||||
var HASH_LEN = 48; //output len of sha function in bytes
|
||||
var HASH_LEN_BITS = HASH_LEN * 8;//output len of sha function in bits
|
||||
|
||||
signal input seed[SEED_LEN_BITS]; //each represents a bit
|
||||
signal input dummy;
|
||||
|
||||
signal output out[MASK_LEN_BITS];
|
||||
|
||||
dummy * dummy === 0;
|
||||
|
||||
assert(MASK_LEN <= 0xffffffff * HASH_LEN );
|
||||
|
||||
var ITERATIONS = (MASK_LEN \ HASH_LEN) + 1; //adding 1, in-case MASK_LEN \ HASH_LEN is 0
|
||||
|
||||
component sha384[ITERATIONS];
|
||||
component num2Bits[ITERATIONS];
|
||||
|
||||
for (var i = 0; i < ITERATIONS; i++) {
|
||||
sha384[i] = ShaHashChunks(1 , 384); //32 bits for counter
|
||||
sha384[i].dummy <== dummy;
|
||||
|
||||
num2Bits[i] = Num2Bits(32);
|
||||
}
|
||||
|
||||
var concated[1024]; //seed + 32 bits(4 Bytes) for counter
|
||||
signal hashed[HASH_LEN_BITS * (ITERATIONS)];
|
||||
|
||||
for (var i = 0; i < SEED_LEN_BITS; i++) {
|
||||
concated[i] = seed[i];
|
||||
}
|
||||
|
||||
for (var i = 0; i < ITERATIONS; i++) {
|
||||
num2Bits[i].in <== i; //convert counter to bits
|
||||
|
||||
for (var j = 0; j < 32; j++) {
|
||||
//concat seed and counter
|
||||
concated[SEED_LEN_BITS + j] = num2Bits[i].out[31-j];
|
||||
}
|
||||
|
||||
//adding padding (len = 416 = 110100000)
|
||||
for (var j = 417; j < 1015; j++) {
|
||||
concated[j] = 0;
|
||||
}
|
||||
|
||||
concated[416] = 1;
|
||||
concated[1023] = 0;
|
||||
concated[1022] = 0;
|
||||
concated[1021] = 0;
|
||||
concated[1020] = 0;
|
||||
concated[1019] = 0;
|
||||
concated[1018] = 1;
|
||||
concated[1017] = 0;
|
||||
concated[1016] = 1;
|
||||
concated[1015] = 1;
|
||||
|
||||
//hashing value
|
||||
sha384[i].in <== concated;
|
||||
|
||||
for (var j = 0; j < HASH_LEN_BITS; j++) {
|
||||
hashed[i * HASH_LEN_BITS + j] <== sha384[i].out[j];
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < MASK_LEN_BITS; i++) {
|
||||
out[i] <== hashed[i];
|
||||
}
|
||||
}
|
||||
|
||||
template Mgf1Sha256(SEED_LEN, MASK_LEN) { //in bytes
|
||||
var SEED_LEN_BITS = SEED_LEN * 8;
|
||||
var MASK_LEN_BITS = MASK_LEN * 8;
|
||||
var HASH_LEN = 32; //output len of sha function in bytes
|
||||
var HASH_LEN_BITS = HASH_LEN * 8;//output len of sha function in bits
|
||||
|
||||
signal input seed[SEED_LEN_BITS]; //each represents a bit
|
||||
signal input dummy;
|
||||
|
||||
signal output out[MASK_LEN_BITS];
|
||||
dummy * dummy === 0;
|
||||
|
||||
assert(MASK_LEN <= 0xffffffff * HASH_LEN );
|
||||
var ITERATIONS = (MASK_LEN \ HASH_LEN) + 1; //adding 1, in-case MASK_LEN \ HASH_LEN is 0
|
||||
|
||||
component sha256[ITERATIONS];
|
||||
component num2Bits[ITERATIONS];
|
||||
|
||||
for (var i = 0; i < ITERATIONS; i++) {
|
||||
sha256[i] = ShaHashChunks(1, 256); //32 bits for counter
|
||||
sha256[i].dummy <== dummy;
|
||||
|
||||
num2Bits[i] = Num2Bits(32);
|
||||
}
|
||||
|
||||
var concated[512]; //seed + 32 bits(4 Bytes) for counter
|
||||
signal hashed[HASH_LEN_BITS * (ITERATIONS)];
|
||||
|
||||
for (var i = 0; i < SEED_LEN_BITS; i++) {
|
||||
concated[i] = seed[i];
|
||||
}
|
||||
|
||||
for (var i = 0; i < ITERATIONS; i++) {
|
||||
num2Bits[i].in <== i; //convert counter to bits
|
||||
|
||||
for (var j = 0; j < 32; j++) {
|
||||
//concat seed and counter
|
||||
concated[SEED_LEN_BITS + j] = num2Bits[i].out[31-j];
|
||||
}
|
||||
|
||||
//adding padding (len = 288 = 100100000)
|
||||
for (var j = 289; j < 503; j++) {
|
||||
concated[j] = 0;
|
||||
}
|
||||
|
||||
concated[288] = 1;
|
||||
concated[511] = 0;
|
||||
concated[510] = 0;
|
||||
concated[509] = 0;
|
||||
concated[508] = 0;
|
||||
concated[507] = 0;
|
||||
concated[506] = 1;
|
||||
concated[505] = 0;
|
||||
concated[504] = 0;
|
||||
concated[503] = 1;
|
||||
|
||||
//hashing value
|
||||
sha256[i].in <== concated;
|
||||
|
||||
for (var j = 0; j < HASH_LEN_BITS; j++) {
|
||||
hashed[i * HASH_LEN_BITS + j] <== sha256[i].out[j];
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < MASK_LEN_BITS; i++) {
|
||||
out[i] <== hashed[i];
|
||||
}
|
||||
}
|
||||
|
||||
// pragma circom 2.1.9;
|
||||
|
||||
// include "circom-dl/circuits/bitify/bitify.circom";
|
||||
|
||||
@@ -1,200 +1,465 @@
|
||||
// pragma circom 2.1.6;
|
||||
pragma circom 2.1.6;
|
||||
|
||||
// include "../rsa/rsa.circom";
|
||||
// include "./mgf1.circom";
|
||||
// include "./xor2.circom";
|
||||
// include "../sha2/sha256/sha256_hash_bits.circom";
|
||||
// include "../sha2/sha384/sha384_hash_bits.circom";
|
||||
// include "../other/bytes.circom";
|
||||
// include "../bigInt/bigInt.circom";
|
||||
include "../circomlib/bigInt/bigInt.circom";
|
||||
include "./mgf1.circom";
|
||||
// include "../bitify/bitGates.circom";
|
||||
include "../circomlib/bitify/bitGates.circom";
|
||||
// include "../hasher/hash.circom";
|
||||
include "../circomlib/hasher/hash.circom";
|
||||
|
||||
// template VerifyRsaPssSig (n, k, HASH_LEN_BITS, modulus_bits_size){
|
||||
|
||||
// assert(HASH_LEN_BITS == 256 || HASH_LEN_BITS == 384);
|
||||
|
||||
|
||||
// signal input pubkey[k]; //aka modulus
|
||||
// signal input signature[k];
|
||||
// signal input hashed[HASH_LEN_BITS]; //message hash
|
||||
|
||||
// var emLen = modulus_bits_size\8;//(n*k)\8; //in bytes
|
||||
// var hLen = HASH_LEN_BITS\8; //in bytes
|
||||
// var sLen = HASH_LEN_BITS\8; //in bytes
|
||||
// var hLenBits = HASH_LEN_BITS; //in bits
|
||||
// var sLenBits = HASH_LEN_BITS; //in bits
|
||||
|
||||
// var k2 = 64; // final split in array of 64 words (avoiding n2 overflow)
|
||||
// var n2 = modulus_bits_size \ k2;
|
||||
|
||||
|
||||
// signal eM[emLen];
|
||||
// signal eMsgInBits[modulus_bits_size];
|
||||
/*
|
||||
* Verification for RSAPSS signature.
|
||||
* hashed is hashed message of hash_type algo, hash_type is algo hash algo for mgf1 mask generation.
|
||||
* There is no assert for CHUNK_SIZE == 64 and it may work with other chunking, but this one wasn`t tested,
|
||||
* so better use 64 signature and pubkey - chunked numbers (CHUNK_SIZE, CHUNK_NUMBER).
|
||||
* default exp = 65537
|
||||
* SALT_LEN is salt lenght in bytes! (NOT IN BITES LIKE HASH_TYPE!).
|
||||
* This is because salt len can`t be % 8 != 0 so we use bytes len (8 bites).
|
||||
* For now, only HASH_TYPE == 384 && SALT_LEN == 48, HASH_TYPE == 256 && SALT_LEN == 64, HASH_TYPE == 256 && SALT_LEN == 32 cases supported.
|
||||
* Use this for CHUNK_NUMBER == 2**n, otherwise error will occur.
|
||||
*/
|
||||
template VerifyRsaPssSig(CHUNK_SIZE, CHUNK_NUMBER, SALT_LEN, EXP, HASH_TYPE) {
|
||||
assert((HASH_TYPE == 384 && SALT_LEN == 48) || (HASH_TYPE == 256 && SALT_LEN == 64) || (HASH_TYPE == 256 && SALT_LEN == 32));
|
||||
|
||||
// //computing encoded message
|
||||
// component powmod = FpPow65537Mod(n, k);
|
||||
// powmod.base <== signature;
|
||||
// powmod.modulus <== pubkey;
|
||||
signal input pubkey[CHUNK_NUMBER];
|
||||
signal input signature[CHUNK_NUMBER];
|
||||
signal input hashed[HASH_TYPE];
|
||||
|
||||
|
||||
// signal encoded[k];
|
||||
// encoded <== powmod.out;
|
||||
// signal encoded_k2[k2];
|
||||
// component split = SplitSignalsToWordsUnsafe(n, k,n2,k2);
|
||||
// split.in <== encoded;
|
||||
// encoded_k2 <== split.out;
|
||||
signal input dummy;
|
||||
dummy * dummy === 0;
|
||||
|
||||
var EM_LEN = (CHUNK_SIZE * CHUNK_NUMBER) \ 8;
|
||||
var HASH_LEN = HASH_TYPE \ 8;
|
||||
var SALT_LEN_BITS = SALT_LEN * 8;
|
||||
var EM_LEN_BITS = CHUNK_SIZE * CHUNK_NUMBER;
|
||||
|
||||
signal eM[EM_LEN];
|
||||
signal eMsgInBits[EM_LEN_BITS];
|
||||
|
||||
//computing encoded message
|
||||
component powerMod;
|
||||
powerMod = PowerMod(CHUNK_SIZE, CHUNK_NUMBER, EXP);
|
||||
powerMod.base <== signature;
|
||||
powerMod.modulus <== pubkey;
|
||||
powerMod.dummy <== dummy;
|
||||
|
||||
signal encoded[CHUNK_NUMBER];
|
||||
encoded <== powerMod.out;
|
||||
|
||||
component num2Bits[CHUNK_NUMBER];
|
||||
|
||||
// component num2Bits[k2];
|
||||
// for (var i = 0; i < k2; i++) {
|
||||
// num2Bits[i] = Num2Bits(n2);
|
||||
// num2Bits[i].in <== encoded_k2[k2-1-i];
|
||||
for (var i = 0; i < CHUNK_NUMBER; i++) {
|
||||
num2Bits[i] = Num2Bits(CHUNK_SIZE);
|
||||
num2Bits[i].in <== encoded[CHUNK_NUMBER - 1 - i];
|
||||
|
||||
// for (var j = 0; j < n2; j++) {
|
||||
// eMsgInBits[i * n2 + j] <== num2Bits[i].out[n2-j-1];
|
||||
// }
|
||||
// }
|
||||
|
||||
// component bits2Num[emLen];
|
||||
// for (var i = 0; i < emLen; i++) {
|
||||
// bits2Num[i] = Bits2Num(8);
|
||||
// for (var j = 0; j < 8; j++) {
|
||||
// bits2Num[i].in[7-j] <== eMsgInBits[i*8 + j];
|
||||
// }
|
||||
// eM[emLen - i - 1] <== bits2Num[i].out;
|
||||
// }
|
||||
|
||||
|
||||
for (var j = 0; j < CHUNK_SIZE; j++) {
|
||||
eMsgInBits[i * CHUNK_SIZE + j] <== num2Bits[i].out[CHUNK_SIZE - j - 1];
|
||||
}
|
||||
}
|
||||
|
||||
// //should be more than HLEN + SLEN + 2
|
||||
// assert(emLen >= hLen + sLen + 2);
|
||||
component bits2Num[EM_LEN];
|
||||
|
||||
// //should end with 0xBC (188 in decimal)
|
||||
// assert(eM[0] == 188); //inconsistent
|
||||
for (var i = 0; i < EM_LEN; i++) {
|
||||
bits2Num[i] = Bits2Num(8);
|
||||
|
||||
// var dbMaskLen = emLen - hLen - 1;
|
||||
// signal dbMask[dbMaskLen * 8];
|
||||
// signal DB[dbMaskLen * 8];
|
||||
// signal salt[sLen * 8];
|
||||
// signal maskedDB[(emLen - hLen - 1) * 8];
|
||||
for (var j = 0; j < 8; j++) {
|
||||
bits2Num[i].in[7 - j] <== eMsgInBits[i * 8 + j];
|
||||
}
|
||||
|
||||
// for (var i=0; i< (emLen - hLen -1) * 8; i++) {
|
||||
// maskedDB[i] <== eMsgInBits[i];
|
||||
// }
|
||||
eM[EM_LEN - i - 1] <== bits2Num[i].out;
|
||||
}
|
||||
|
||||
//should be more than HLEN + SLEN + 2
|
||||
assert(EM_LEN >= HASH_LEN + SALT_LEN + 2);
|
||||
|
||||
// signal hash[hLen * 8];
|
||||
|
||||
// //inserting hash
|
||||
// for (var i=0; i<hLenBits; i++) {
|
||||
// hash[i] <== eMsgInBits[(modulus_bits_size) - hLenBits-8 + i];
|
||||
// }
|
||||
|
||||
// //getting mask
|
||||
// if (HASH_LEN_BITS == 256){
|
||||
// component MGF1_256 = Mgf1Sha256(hLen, dbMaskLen);
|
||||
// for (var i = 0; i < (hLenBits); i++) {
|
||||
// MGF1_256.seed[i] <== hash[i];
|
||||
// }
|
||||
// for (var i = 0; i < dbMaskLen * 8; i++) {
|
||||
// dbMask[i] <== MGF1_256.out[i];
|
||||
// }
|
||||
// }
|
||||
// if (HASH_LEN_BITS == 384){
|
||||
// component MGF1_384 = Mgf1Sha384(hLen, dbMaskLen);
|
||||
// for (var i = 0; i < (hLenBits); i++) {
|
||||
// MGF1_384.seed[i] <== hash[i];
|
||||
// }
|
||||
// for (var i = 0; i < dbMaskLen * 8; i++) {
|
||||
// dbMask[i] <== MGF1_384.out[i];
|
||||
// }
|
||||
// }
|
||||
//should end with 0xBC (188 in decimal)
|
||||
assert(eM[0] == 188);
|
||||
|
||||
var DB_MASK_LEN = EM_LEN - HASH_LEN - 1;
|
||||
|
||||
signal dbMask[DB_MASK_LEN * 8];
|
||||
signal db[DB_MASK_LEN * 8];
|
||||
signal salt[SALT_LEN * 8];
|
||||
signal maskedDB[(EM_LEN - HASH_LEN - 1) * 8];
|
||||
|
||||
for (var i = 0; i < (EM_LEN - HASH_LEN - 1) * 8; i++) {
|
||||
maskedDB[i] <== eMsgInBits[i];
|
||||
}
|
||||
|
||||
signal hash[HASH_LEN * 8];
|
||||
|
||||
//inserting hash
|
||||
for (var i = 0; i < HASH_TYPE; i++) {
|
||||
hash[i] <== eMsgInBits[(EM_LEN_BITS) - HASH_TYPE - 8 + i];
|
||||
}
|
||||
|
||||
//getting mask
|
||||
if (HASH_TYPE == 256) {
|
||||
component MGF1_256 = Mgf1Sha256(HASH_LEN, DB_MASK_LEN);
|
||||
MGF1_256.dummy <== dummy;
|
||||
|
||||
// component xor = Xor2(dbMaskLen * 8);
|
||||
// for (var i = 0; i < dbMaskLen * 8; i++) {
|
||||
// xor.a[i] <== maskedDB[i];
|
||||
// xor.b[i] <== dbMask[i];
|
||||
// }
|
||||
// for (var i = 0; i < dbMaskLen * 8; i++) {
|
||||
// //setting the first leftmost byte to 0
|
||||
// if (i==0) {
|
||||
// DB[i] <== 0;
|
||||
// } else {
|
||||
// DB[i] <== xor.out[i];
|
||||
// }
|
||||
// }
|
||||
for (var i = 0; i < (HASH_TYPE); i++) {
|
||||
MGF1_256.seed[i] <== hash[i];
|
||||
}
|
||||
|
||||
// //inserting salt
|
||||
// for (var i = 0; i < sLenBits; i++) {
|
||||
// salt[sLenBits - 1 - i] <== DB[(dbMaskLen * 8) -1 - i];
|
||||
// }
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
dbMask[i] <== MGF1_256.out[i];
|
||||
}
|
||||
}
|
||||
if (HASH_TYPE == 384) {
|
||||
component MGF1_384 = Mgf1Sha384(HASH_LEN, DB_MASK_LEN);
|
||||
MGF1_384.dummy <== dummy;
|
||||
|
||||
// signal mDash[1024];
|
||||
// //adding 0s
|
||||
// for (var i = 0; i < 64; i++) {
|
||||
// mDash[i] <== 0;
|
||||
// }
|
||||
// //adding message hash
|
||||
// for (var i = 0 ; i < hLen * 8; i++) {
|
||||
// mDash[64 + i] <== hashed[i];
|
||||
for (var i = 0; i < (HASH_TYPE); i++) {
|
||||
MGF1_384.seed[i] <== hash[i];
|
||||
}
|
||||
|
||||
// }
|
||||
// //adding salt
|
||||
// for (var i = 0; i < sLen * 8; i++) {
|
||||
// mDash[64 + hLen * 8 + i] <== salt[i];
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
dbMask[i] <== MGF1_384.out[i];
|
||||
}
|
||||
}
|
||||
|
||||
// }
|
||||
component xor = Xor2(DB_MASK_LEN * 8);
|
||||
|
||||
// if (HASH_LEN_BITS == 256){
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
xor.in1[i] <== maskedDB[i];
|
||||
xor.in2[i] <== dbMask[i];
|
||||
}
|
||||
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
//setting the first leftmost byte to 0
|
||||
if (i == 0) {
|
||||
db[i] <== 0;
|
||||
} else {
|
||||
db[i] <== xor.out[i];
|
||||
}
|
||||
}
|
||||
|
||||
//inserting salt
|
||||
for (var i = 0; i < SALT_LEN_BITS; i++) {
|
||||
salt[SALT_LEN_BITS - 1 - i] <== db[(DB_MASK_LEN * 8) - 1 - i];
|
||||
}
|
||||
|
||||
signal mDash[1024];
|
||||
//adding 0s
|
||||
for (var i = 0; i < 64; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
//adding message hash
|
||||
for (var i = 0; i < HASH_LEN * 8; i++) {
|
||||
mDash[64 + i] <== hashed[i];
|
||||
}
|
||||
|
||||
//adding salt
|
||||
for (var i = 0; i < SALT_LEN * 8; i++) {
|
||||
mDash[64 + HASH_LEN * 8 + i] <== salt[i];
|
||||
}
|
||||
|
||||
if (HASH_TYPE == 256 && SALT_LEN == 32) {
|
||||
//adding padding
|
||||
//len = 64+512 = 576 = 1001000000
|
||||
for (var i = 577; i < 1014; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
mDash[576] <== 1;
|
||||
mDash[1023] <== 0;
|
||||
mDash[1022] <== 0;
|
||||
mDash[1021] <== 0;
|
||||
mDash[1020] <== 0;
|
||||
mDash[1019] <== 0;
|
||||
mDash[1018] <== 0;
|
||||
mDash[1017] <== 1;
|
||||
mDash[1016] <== 0;
|
||||
mDash[1015] <== 0;
|
||||
mDash[1014] <== 1;
|
||||
|
||||
// //adding padding
|
||||
// //len = 64+512 = 576 = 1001000000
|
||||
// for (var i = 577; i < 1014; i++){
|
||||
// mDash[i] <== 0;
|
||||
// }
|
||||
// mDash[576] <== 1;
|
||||
// mDash[1023] <== 0;
|
||||
// mDash[1022] <== 0;
|
||||
// mDash[1021] <== 0;
|
||||
// mDash[1020] <== 0;
|
||||
// mDash[1019] <== 0;
|
||||
// mDash[1018] <== 0;
|
||||
// mDash[1017] <== 1;
|
||||
// mDash[1016] <== 0;
|
||||
// mDash[1015] <== 0;
|
||||
// mDash[1014] <== 1;
|
||||
//hashing
|
||||
component hDash256 = ShaHashChunks(2, HASH_TYPE);
|
||||
hDash256.dummy <== dummy;
|
||||
hDash256.in <== mDash;
|
||||
|
||||
// //hashing
|
||||
// component hDash256 = Sha256_hash_chunks(2);
|
||||
// hDash256.in <== mDash;
|
||||
// hDash256.out === hash;
|
||||
// }
|
||||
// if (HASH_LEN_BITS == 384){
|
||||
hDash256.out === hash;
|
||||
}
|
||||
|
||||
// //padding
|
||||
// //len = 64+48*16 = 832 = 1101000000
|
||||
// for (var i = 833; i < 1014; i++){
|
||||
// mDash[i] <== 0;
|
||||
// }
|
||||
// mDash[832] <== 1;
|
||||
// mDash[1023] <== 0;
|
||||
// mDash[1022] <== 0;
|
||||
// mDash[1021] <== 0;
|
||||
// mDash[1020] <== 0;
|
||||
// mDash[1019] <== 0;
|
||||
// mDash[1018] <== 0;
|
||||
// mDash[1017] <== 1;
|
||||
// mDash[1016] <== 0;
|
||||
// mDash[1015] <== 1;
|
||||
// mDash[1014] <== 1;
|
||||
if (HASH_TYPE == 256 && SALT_LEN == 64) {
|
||||
for (var i = 833; i < 1014; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
// //hashing mDash
|
||||
// component hDash384 = Sha384_hash_chunks(1);
|
||||
// hDash384.in <== mDash;
|
||||
mDash[832] <== 1;
|
||||
mDash[1023] <== 0;
|
||||
mDash[1022] <== 0;
|
||||
mDash[1021] <== 0;
|
||||
mDash[1020] <== 0;
|
||||
mDash[1019] <== 0;
|
||||
mDash[1018] <== 0;
|
||||
mDash[1017] <== 1;
|
||||
mDash[1016] <== 0;
|
||||
mDash[1015] <== 1;
|
||||
mDash[1014] <== 1;
|
||||
|
||||
component hDash256 = ShaHashChunks(2, HASH_TYPE);
|
||||
hDash256.dummy <== dummy;
|
||||
hDash256.in <== mDash;
|
||||
|
||||
hDash256.out === hash;
|
||||
}
|
||||
|
||||
if (HASH_TYPE == 384 && SALT_LEN == 48) {
|
||||
//padding
|
||||
//len = 64+48*16 = 832 = 1101000000
|
||||
for (var i = 833; i < 1014; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
mDash[832] <== 1;
|
||||
mDash[1023] <== 0;
|
||||
mDash[1022] <== 0;
|
||||
mDash[1021] <== 0;
|
||||
mDash[1020] <== 0;
|
||||
mDash[1019] <== 0;
|
||||
mDash[1018] <== 0;
|
||||
mDash[1017] <== 1;
|
||||
mDash[1016] <== 0;
|
||||
mDash[1015] <== 1;
|
||||
mDash[1014] <== 1;
|
||||
|
||||
// hDash384.out === hash;
|
||||
// }
|
||||
//hashing mDash
|
||||
component hDash384 = ShaHashChunks(1, HASH_TYPE);
|
||||
hDash384.dummy <== dummy;
|
||||
hDash384.in <== mDash;
|
||||
|
||||
hDash384.out === hash;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Verification for RSAPSS signature.
|
||||
* hashed is hashed message of hash_type algo, hash_type is algo hash algo for mgf1 mask generation.
|
||||
* There is no assert for CHUNK_SIZE == 64 and it may work with other chunking, but this one wasn`t tested,
|
||||
* so better use 64 signature and pubkey - chunked numbers (CHUNK_SIZE, CHUNK_NUMBER).
|
||||
* e_bits - Len of bit representation of exponent with 1 highest and lowest bits, other are 0 (2^(e_bits - 1) + 1).
|
||||
* default exp = 65537 (e_bits = 17)
|
||||
* SALT_LEN is salt lenght in bytes! (NOT IN BITES LIKE HASH_TYPE!)
|
||||
* This is because salt len can`t be % 8 != 0 so we use bytes len (8 bites).
|
||||
* For now, only HASH_TYPE == 384 && SALT_LEN == 48, HASH_TYPE == 256 && SALT_LEN == 64, HASH_TYPE == 256 && SALT_LEN == 32 cases supported.
|
||||
* Use this for CHUNK_NUMBER != 2**n, otherwise use previous template.
|
||||
*/
|
||||
template VerifyRsaPssSigNonOptimised(CHUNK_SIZE, CHUNK_NUMBER, SALT_LEN, EXP, HASH_TYPE) {
|
||||
assert((HASH_TYPE == 384 && SALT_LEN == 48) || (HASH_TYPE == 256 && SALT_LEN == 64) || (HASH_TYPE == 256 && SALT_LEN == 32));
|
||||
|
||||
signal input pubkey[CHUNK_NUMBER];
|
||||
signal input signature[CHUNK_NUMBER];
|
||||
signal input hashed[HASH_TYPE];
|
||||
signal input dummy;
|
||||
|
||||
|
||||
// }
|
||||
dummy * dummy === 0;
|
||||
|
||||
var EM_LEN = (CHUNK_SIZE * CHUNK_NUMBER) \ 8;
|
||||
var HASH_LEN = HASH_TYPE \ 8;
|
||||
var SALT_LEN_BITS = SALT_LEN * 8;
|
||||
var EM_LEN_BITS = CHUNK_SIZE * CHUNK_NUMBER;
|
||||
|
||||
signal eM[EM_LEN];
|
||||
signal eMsgInBits[EM_LEN_BITS];
|
||||
|
||||
//computing encoded message
|
||||
component powerMod;
|
||||
powerMod = PowerModNonOptimised(CHUNK_SIZE, CHUNK_NUMBER, EXP);
|
||||
powerMod.base <== signature;
|
||||
powerMod.modulus <== pubkey;
|
||||
powerMod.dummy <== dummy;
|
||||
|
||||
signal encoded[CHUNK_NUMBER];
|
||||
encoded <== powerMod.out;
|
||||
|
||||
component num2Bits[CHUNK_NUMBER];
|
||||
|
||||
for (var i = 0; i < CHUNK_NUMBER; i++) {
|
||||
num2Bits[i] = Num2Bits(CHUNK_SIZE);
|
||||
num2Bits[i].in <== encoded[CHUNK_NUMBER - 1 - i];
|
||||
|
||||
for (var j = 0; j < CHUNK_SIZE; j++) {
|
||||
eMsgInBits[i * CHUNK_SIZE + j] <== num2Bits[i].out[CHUNK_SIZE - j - 1];
|
||||
}
|
||||
}
|
||||
|
||||
component bits2Num[EM_LEN];
|
||||
|
||||
for (var i = 0; i < EM_LEN; i++) {
|
||||
bits2Num[i] = Bits2Num(8);
|
||||
|
||||
for (var j = 0; j < 8; j++) {
|
||||
bits2Num[i].in[7 - j] <== eMsgInBits[i * 8 + j];
|
||||
}
|
||||
|
||||
eM[EM_LEN - i - 1] <== bits2Num[i].out;
|
||||
}
|
||||
|
||||
//should be more than HLEN + SLEN + 2
|
||||
assert(EM_LEN >= HASH_LEN + SALT_LEN + 2);
|
||||
|
||||
//should end with 0xBC (188 in decimal)
|
||||
assert(eM[0] == 188);
|
||||
|
||||
var DB_MASK_LEN = EM_LEN - HASH_LEN - 1;
|
||||
signal dbMask[DB_MASK_LEN * 8];
|
||||
signal db[DB_MASK_LEN * 8];
|
||||
signal salt[SALT_LEN * 8];
|
||||
signal maskedDB[(EM_LEN - HASH_LEN - 1) * 8];
|
||||
|
||||
for (var i = 0; i < (EM_LEN - HASH_LEN - 1) * 8; i++) {
|
||||
maskedDB[i] <== eMsgInBits[i];
|
||||
}
|
||||
|
||||
signal hash[HASH_LEN * 8];
|
||||
|
||||
//inserting hash
|
||||
for (var i = 0; i < HASH_TYPE; i++) {
|
||||
hash[i] <== eMsgInBits[(EM_LEN_BITS) - HASH_TYPE - 8 + i];
|
||||
}
|
||||
|
||||
//getting mask
|
||||
if (HASH_TYPE == 256) {
|
||||
component MGF1_256 = Mgf1Sha256(HASH_LEN, DB_MASK_LEN);
|
||||
MGF1_256.dummy <== dummy;
|
||||
|
||||
for (var i = 0; i < (HASH_TYPE); i++) {
|
||||
MGF1_256.seed[i] <== hash[i];
|
||||
}
|
||||
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
dbMask[i] <== MGF1_256.out[i];
|
||||
}
|
||||
}
|
||||
if (HASH_TYPE == 384) {
|
||||
component MGF1_384 = Mgf1Sha384(HASH_LEN, DB_MASK_LEN);
|
||||
MGF1_384.dummy <== dummy;
|
||||
|
||||
for (var i = 0; i < (HASH_TYPE); i++) {
|
||||
MGF1_384.seed[i] <== hash[i];
|
||||
}
|
||||
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
dbMask[i] <== MGF1_384.out[i];
|
||||
}
|
||||
}
|
||||
|
||||
component xor = Xor2(DB_MASK_LEN * 8);
|
||||
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
xor.in1[i] <== maskedDB[i];
|
||||
xor.in2[i] <== dbMask[i];
|
||||
}
|
||||
|
||||
for (var i = 0; i < DB_MASK_LEN * 8; i++) {
|
||||
//setting the first leftmost byte to 0
|
||||
if (i == 0) {
|
||||
db[i] <== 0;
|
||||
} else {
|
||||
db[i] <== xor.out[i];
|
||||
}
|
||||
}
|
||||
|
||||
//inserting salt
|
||||
for (var i = 0; i < SALT_LEN_BITS; i++) {
|
||||
salt[SALT_LEN_BITS - 1 - i] <== db[(DB_MASK_LEN * 8) - 1 - i];
|
||||
}
|
||||
|
||||
signal mDash[1024];
|
||||
//adding 0s
|
||||
for (var i = 0; i < 64; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
//adding message hash
|
||||
for (var i = 0; i < HASH_LEN * 8; i++) {
|
||||
mDash[64 + i] <== hashed[i];
|
||||
|
||||
}
|
||||
|
||||
//adding salt
|
||||
for (var i = 0; i < SALT_LEN * 8; i++) {
|
||||
mDash[64 + HASH_LEN * 8 + i] <== salt[i];
|
||||
}
|
||||
|
||||
if (HASH_TYPE == 256 && SALT_LEN == 32) {
|
||||
//adding padding
|
||||
//len = 64+512 = 576 = 1001000000
|
||||
for (var i = 577; i < 1014; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
mDash[576] <== 1;
|
||||
mDash[1023] <== 0;
|
||||
mDash[1022] <== 0;
|
||||
mDash[1021] <== 0;
|
||||
mDash[1020] <== 0;
|
||||
mDash[1019] <== 0;
|
||||
mDash[1018] <== 0;
|
||||
mDash[1017] <== 1;
|
||||
mDash[1016] <== 0;
|
||||
mDash[1015] <== 0;
|
||||
mDash[1014] <== 1;
|
||||
|
||||
//hashing
|
||||
component hDash256 = ShaHashChunks(2, HASH_TYPE);
|
||||
hDash256.dummy <== dummy;
|
||||
hDash256.in <== mDash;
|
||||
|
||||
hDash256.out === hash;
|
||||
}
|
||||
if (HASH_TYPE == 256 && SALT_LEN == 64) {
|
||||
for (var i = 833; i < 1014; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
mDash[832] <== 1;
|
||||
mDash[1023] <== 0;
|
||||
mDash[1022] <== 0;
|
||||
mDash[1021] <== 0;
|
||||
mDash[1020] <== 0;
|
||||
mDash[1019] <== 0;
|
||||
mDash[1018] <== 0;
|
||||
mDash[1017] <== 1;
|
||||
mDash[1016] <== 0;
|
||||
mDash[1015] <== 1;
|
||||
mDash[1014] <== 1;
|
||||
|
||||
component hDash256 = ShaHashChunks(2, HASH_TYPE);
|
||||
hDash256.dummy <== dummy;
|
||||
hDash256.in <== mDash;
|
||||
|
||||
hDash256.out === hash;
|
||||
}
|
||||
|
||||
if (HASH_TYPE == 384 && SALT_LEN == 48) {
|
||||
//padding
|
||||
//len = 64+48*16 = 832 = 1101000000
|
||||
for (var i = 833; i < 1014; i++) {
|
||||
mDash[i] <== 0;
|
||||
}
|
||||
|
||||
mDash[832] <== 1;
|
||||
mDash[1023] <== 0;
|
||||
mDash[1022] <== 0;
|
||||
mDash[1021] <== 0;
|
||||
mDash[1020] <== 0;
|
||||
mDash[1019] <== 0;
|
||||
mDash[1018] <== 0;
|
||||
mDash[1017] <== 1;
|
||||
mDash[1016] <== 0;
|
||||
mDash[1015] <== 1;
|
||||
mDash[1014] <== 1;
|
||||
|
||||
//hashing mDash
|
||||
component hDash384 = ShaHashChunks(1, HASH_TYPE);
|
||||
hDash384.dummy <== dummy;
|
||||
hDash384.in <== mDash;
|
||||
|
||||
hDash384.out === hash;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,9 +13,14 @@ import { SMT } from '@openpassport/zk-kit-smt';
|
||||
import namejson from '../../common/ofacdata/outputs/nameSMT.json';
|
||||
|
||||
const sigAlgs = [
|
||||
{ sigAlg: 'rsa', hashFunction: 'sha1', domainParameter: '65537', keyLength: '2048' },
|
||||
// { sigAlg: 'rsa', hashFunction: 'sha1', domainParameter: '65537', keyLength: '2048' },
|
||||
// { sigAlg: 'rsa', hashFunction: 'sha256', domainParameter: '65537', keyLength: '2048' },
|
||||
// { sigAlg: 'rsapss', hashFunction: 'sha256', domainParameter: '65537', keyLength: '2048' },
|
||||
// { sigAlg: 'rsapss', hashFunction: 'sha256', domainParameter: '65537', keyLength: '3072' },
|
||||
{ sigAlg: 'rsapss', hashFunction: 'sha256', domainParameter: '65537', keyLength: '4096' },
|
||||
// { sigAlg: 'rsapss', hashFunction: 'sha256', domainParameter: '3', keyLength: '4096' },
|
||||
// { sigAlg: 'rsapss', hashFunction: 'sha256', domainParameter: '3', keyLength: '3072' },
|
||||
// { sigAlg: 'rsapss', hashFunction: 'sha384', domainParameter: '65537', keyLength: '3072' },
|
||||
// { sigAlg: 'rsa', hashFunction: 'sha256', domainParameter: '3', keyLength: '2048' },
|
||||
// { sigAlg: 'rsa', hashFunction: 'sha256', domainParameter: '65537', keyLength: '3072' },
|
||||
// { sigAlg: 'ecdsa', hashFunction: 'sha256', domainParameter: 'secp256r1', keyLength: '256' },
|
||||
|
||||
@@ -29,14 +29,16 @@ export const MAX_PADDED_ECONTENT_LEN: Partial<
|
||||
rsa_sha256_65537_2048: 384,
|
||||
rsa_sha1_65537_2048: 320,
|
||||
rsapss_sha256_65537_2048: 384,
|
||||
rsapss_sha256_3_3072: 384,
|
||||
rsapss_sha256_65537_3072: 384,
|
||||
rsapss_sha256_65537_4096: 384,
|
||||
rsapss_sha256_3_4096: 384,
|
||||
rsapss_sha384_65537_3072: 384,
|
||||
ecdsa_sha1_secp256r1_256: 320,
|
||||
ecdsa_sha256_secp256r1_256: 384,
|
||||
ecdsa_sha384_secp384r1_384: 512,
|
||||
rsa_sha256_65537_3072: 384,
|
||||
rsa_sha256_3_2048: 384,
|
||||
rsa_sha256_65537_4096: 512,
|
||||
rsa_sha1_65537_4096: 640,
|
||||
rsapss_sha256_65537_4096: 768,
|
||||
};
|
||||
|
||||
export const MAX_PADDED_SIGNED_ATTR_LEN: Partial<
|
||||
@@ -45,6 +47,11 @@ export const MAX_PADDED_SIGNED_ATTR_LEN: Partial<
|
||||
rsa_sha256_65537_2048: 192,
|
||||
rsa_sha1_65537_2048: 192,
|
||||
rsapss_sha256_65537_2048: 192,
|
||||
rsapss_sha256_65537_3072: 192,
|
||||
rsapss_sha256_65537_4096: 192,
|
||||
rsapss_sha256_3_3072: 192,
|
||||
rsapss_sha256_3_4096: 192,
|
||||
rsapss_sha384_65537_3072: 256,
|
||||
ecdsa_sha1_secp256r1_256: 192,
|
||||
ecdsa_sha256_secp256r1_256: 192,
|
||||
ecdsa_sha384_secp384r1_384: 192,
|
||||
@@ -55,7 +62,12 @@ export const MAX_PADDED_SIGNED_ATTR_LEN: Partial<
|
||||
export const MAX_CERT_BYTES: Partial<Record<keyof typeof SignatureAlgorithmIndex, number>> = {
|
||||
rsa_sha256_65537_4096: 512,
|
||||
rsa_sha1_65537_4096: 640,
|
||||
rsapss_sha256_65537_2048: 640,
|
||||
rsapss_sha256_65537_3072: 640,
|
||||
rsapss_sha256_65537_4096: 768,
|
||||
rsapss_sha256_3_3072: 768,
|
||||
rsapss_sha256_3_4096: 768,
|
||||
rsapss_sha384_65537_3072: 768,
|
||||
};
|
||||
|
||||
export const ECDSA_K_LENGTH_FACTOR = 2;
|
||||
@@ -82,6 +94,11 @@ export enum SignatureAlgorithmIndex {
|
||||
rsapss_sha256_65537_4096 = 12,
|
||||
rsa_sha256_3_2048 = 13,
|
||||
rsa_sha256_65537_3072 = 14,
|
||||
rsa_sha512_65537_4096 = 15,
|
||||
rsapss_sha256_3_3072 = 16,
|
||||
rsapss_sha256_3_4096 = 17,
|
||||
rsapss_sha384_65537_3072 = 18,
|
||||
rsapss_sha256_65537_3072 = 19
|
||||
}
|
||||
|
||||
export const attributeToPosition = {
|
||||
@@ -106,11 +123,12 @@ export const n_dsc = 64;
|
||||
export const n_dsc_3072 = 96;
|
||||
export const n_dsc_4096 = 64;
|
||||
export const k_dsc = 32;
|
||||
export const k_dsc_3072 = 32; //48;
|
||||
export const k_dsc_4096 = 64;
|
||||
export const n_csca = 120;
|
||||
export const k_csca = 35;
|
||||
export const n_dsc_ecdsa = 64;
|
||||
export const k_dsc_ecdsa = 4;
|
||||
export const n_dsc_ecdsa = 43;
|
||||
export const k_dsc_ecdsa = 6;
|
||||
export const max_cert_bytes = 1664;
|
||||
export const countryCodes = {
|
||||
AFG: 'Afghanistan',
|
||||
|
||||
@@ -394,6 +394,731 @@ ZOhjTvvbwLrq4Smh8iH6C20IZFK5Je//SOkolBvsRh6ToQoJerR1lWGVlX4ljN8o
|
||||
9OCw
|
||||
-----END CERTIFICATE-----`;
|
||||
|
||||
export const mock_csca_key_rsapss_65537_3072 = `-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
2/8o5lFvHB10uPKIi4h7EZk1+g==
|
||||
-----END PRIVATE KEY-----`;
|
||||
|
||||
export const mock_csca_sha256_rsapss_65537_3072 = `-----BEGIN CERTIFICATE-----
|
||||
MIIEazCCAtOgAwIBAgIUc7YJwHKF5gP61gqJ2CEYxUbZ48wwDQYJKoZIhvcNAQEL
|
||||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDEyMTQxMDQ5MDBaFw0yNTEy
|
||||
MTQxMDQ5MDBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
||||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggGiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBjwAwggGKAoIBgQCm2b4Bn2fhGEIl+xdxbzPqKSPkG/mmMSGNsc5zxUNU
|
||||
T6IbozNCjOTcKGNPloZgBfXhKjzqEHBD+kIJ8rfoXiUZUsJq24S5x06gQZ9V3Lvo
|
||||
/bRqtyrcWoOvfv1wUiy57jGXRbLA94bdrOz5ybGdubkzEOJ6joSH7wB0qIyO8y5m
|
||||
sh3ZZzgw0ArKeArWB2WyfD40RwCXSZen9Pp6lODsuXFSIqJWHvbSzGImu8aOgJ9q
|
||||
3zS3NG3zocqjMUQtbjoVFKUMdkdrNmVqGMFzUYMMQ/mTUtJ1FOX2SQ/uL12PQiU7
|
||||
/wfQeve5LnXY3Tq+S/0yDReSFe6IB3DMIfMNepfpPmaQW0cAVkCzCpiGjUwlTmND
|
||||
XeNSy1Q9rx3SfiDYwU59JlQgLTBmFWg/b/h9VvbFbIT9EBSntK/u9SgT+O+GQMBA
|
||||
kCBHikzxj87v83Gqm/9n34p1cjBsemPmHBM9/ag6rQoE/L8t0poSyb+J15JWlRl+
|
||||
8gXDuSaQp8a7WHcd7H+qur8CAwEAAaNTMFEwHQYDVR0OBBYEFPVewTeHcXztopII
|
||||
oPIC98lRzGj8MB8GA1UdIwQYMBaAFPVewTeHcXztopIIoPIC98lRzGj8MA8GA1Ud
|
||||
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggGBACmsKMAKSsN2uggu+TIybVi1
|
||||
1Bi/CFGqz3RmOvl+YZTWVH8lQxy24qkJfaFttRivI+SryYYL0+7SHxsZx7uWPeNe
|
||||
/GAqbIy5LPyufkHEv/XSuRu+EseM6r24DNB1InFU0HeY3l+ZmmP2eetVG40fMEGn
|
||||
46bN6bk6vSPXNJxpXjGNIH/FjsYts+dIPsqi82B6WxxQn1jgQxGn1dOpnuW6KnTE
|
||||
1nyupTfIop/QnySjJHsETnMhheoL3h2EkgVmbtlkYXuyedeFoeGEWJxcCWVT1K/3
|
||||
gWumsjuDKbjOOuFdGUDURNtlREjxrnq/NGXVVnCyqsdo8JpZysABSf/eNs0D9o0w
|
||||
w/h8qiuaZaVrlZ7Jjeo7ajGtQ06VNH89Uj6z/+QOlcntXy1Z8kHLj5uK5jgqhStZ
|
||||
HSmnugxx7VOXBDVklCt1ONz8PwAa+0X0nGJNemoC3cunZqRlncBucjy7M7lrGeS+
|
||||
iySrEW15LP1BIewmCV9GYliauC5xffKa+IfCJnm3zw==
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_dsc_key_sha256_rsapss_65537_3072=`-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
iI26TdrqkM7g7vzOS0gOEMI=
|
||||
-----END PRIVATE KEY-----
|
||||
`
|
||||
|
||||
export const mock_dsc_sha256_rsapss_65537_3072=`-----BEGIN CERTIFICATE-----
|
||||
MIIEwjCCAvagAwIBAgIUZflxS6VTZ+x2jttEfGIaE/bBrSAwQQYJKoZIhvcNAQEK
|
||||
MDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgEF
|
||||
AKIDAgEgMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD
|
||||
VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjQxMjE0MTA1NDU1WhcN
|
||||
MjUwMTEzMTA1NDU1WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0
|
||||
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBojANBgkqhkiG
|
||||
9w0BAQEFAAOCAY8AMIIBigKCAYEA41/zLrr0VpNJT+Uti47LynBeghU304GLZUxe
|
||||
gv5f9OXGJbr5lhouWI7mE2HsE5dmDsilDiaqSyiF8TxJ/1PGlT+vdp5/N1AHWsaC
|
||||
SNGCB6FEQ3v3JlzdGHU8rDrBKca48jLij5Hq//xRlorTaniBQZd/jA9KY4Vhoace
|
||||
ajZ+9PxyXWToLOaGqDdq62PvYe3d9qTy9YEDEv/heQHNHmtWN4y6RTeFpmXNAPg5
|
||||
kUrxmMKWSTIWheNq1bXoM0irFwnIlUqTH5C5zV8Nn45yMf5tHdDqfCIt23KVRaUM
|
||||
wU6ZGVUU/mmBW02K16qJSxx4VnwTgj565Xt+Qn+DwYnxJNkUp9G8/Iiog/je3G8X
|
||||
G2Pf3xj89iGuq3m3vz6sd0IxsodXnDt2ZHnyDN9Q0VThS/TP0Mvb141IcJkX6xKA
|
||||
aMddpHy+Q30LIRieF7g2wTElIxDXKi2rNO5BtXyauHhzMWIOorr/BNwxKCHuABmK
|
||||
vMKdmsIg+q3LfZH95ebxPZqAske3AgMBAAGjQjBAMB0GA1UdDgQWBBRkvu6kEkao
|
||||
rMK1TcZUg3F39HxEjjAfBgNVHSMEGDAWgBT1XsE3h3F87aKSCKDyAvfJUcxo/DBB
|
||||
BgkqhkiG9w0BAQowNKAPMA0GCWCGSAFlAwQCAQUAoRwwGgYJKoZIhvcNAQEIMA0G
|
||||
CWCGSAFlAwQCAQUAogMCASADggGBADaRhc8fdsFkzTH7GKaUWlaITfxWFjpAKyyF
|
||||
YJ/YGoNDaQ55RXRklSi/dp2Rs2l/JvdmHlv9QZjx7SBt7rWO4YHJnaCuUejT9IF3
|
||||
DvMRbORuyOu1GOYeLhEwh1LVRSl15LiLNJQEmhbJFENJew11QIw75/cmh6nBrGmY
|
||||
UDYmOipvAf0160V/1L5FejFJ24hIgedD2bSPFd/8Qli7U5JqDMrjbMNoUnoWmVPC
|
||||
NuZ46gmB8zMj2UewCVzaJ7RFXfvejbGccwtpLRy7BBBVO5ZRWh79BsWEq0HSLtBa
|
||||
7Q7RL+WBAOoTQXMPMTWKDLNiQAweTh+oMGu3P2Gh7SG+xsAAx19uUqMxbiu4hFn4
|
||||
KpveLtZpGLwRHMAVhWftT70J3lzrE3OcGWcGV8Ubdx0Cv1/c6ikShLnEEwwV4BoQ
|
||||
sDghA5MyF+3oxZc3/gyhaM/zvGgyeF8m3xhmlySPXstIOBONiX7jw7hq8uIu1ctN
|
||||
0Kc3XOb+BAqHQvSCXISshZ1xreF/xg==
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_csca_key_rsapss_65537_4096 = `
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
tQSRrFMTWH6Q1bThJPyCg9QUWgza
|
||||
-----END PRIVATE KEY-----
|
||||
`;
|
||||
|
||||
export const mock_csca_sha256_rsapss_65537_4096 = `-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_dsc_key_rsapss_65537_4096 = `-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
VIC18b9mdJu8A6U7N3q4AaFS0oBQ
|
||||
-----END PRIVATE KEY-----
|
||||
`
|
||||
|
||||
export const mock_dsc_sha256_rsapss_65537_4096 = `-----BEGIN CERTIFICATE-----
|
||||
MIIFwjCCA3agAwIBAgIUegbEJKS0EoxaWTW81zA0wSo1q/4wQQYJKoZIhvcNAQEK
|
||||
MDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgEF
|
||||
AKIDAgEgMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD
|
||||
VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjQxMjE0MTUyMTUwWhcN
|
||||
MjUwMTEzMTUyMTUwWjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0
|
||||
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAg8AMIICCgKCAgEA1BmgEEjoWWUKy60oKseFcmAtF6jxynZZjLwt
|
||||
NpSc3axuAjJXimRfmzfeyLxT/3JWgeTE6ZKKOzgsRA8IuISmWhXE9oodA9X61zSy
|
||||
gnHc+p7Jb0KDesLQdPFj+e2Y40nsRxqafLl4rwfk699KoWR1gNkNd+MKAlpb+cL+
|
||||
5vCdhQ7uc/asDyCDIoYadYO9A0A/bABz1KztT2ppMKS7jMt2bz0465xyrglTJxl2
|
||||
f+/HQA5RqD6NSIa/RW//ZIhxEuJ67ukppuOKqhfFYoPU6mh2sXq5iMtnFoMr5I0Z
|
||||
VMZl9ghPfoGNoykKQ2+ufsJ0AYrRX2XXTwYqe2VvB0BipdEEleRY6m7baIrh5iMx
|
||||
Qqulm/GDUFP5wcMsLGFnEjwovIMb2ojUirQhRN7L4y7F8av+fHaZWTaLBGLrgj/8
|
||||
aAJ8UEBH16DzK/u8T+OEa+akvO3WMMq+Ep6lYJ1BZDbj9gExW6E0+vVioFaWqU1m
|
||||
iGUJYQ7cFUdg0FN+Xp+1nClv2M+1wqMRGfq/9S6xMMcBN0EMkbmPwci19VggfPw7
|
||||
vQ5qGPF1UroIQdM6GIWQNLWI4riWx20mnAy4GBCbOlzk+MfrnrSmNAC+XZl6vZDj
|
||||
PqWydP2ihqF2ltIhcZqh3YlNBnhZPZzOfjFXpDegz3W+CwKJM5dK2INPtRU6wb+I
|
||||
mGTv/bMCAwEAAaNCMEAwHQYDVR0OBBYEFE39EbUgFev0GcnZugAQYP6lVi9lMB8G
|
||||
A1UdIwQYMBaAFJX+jh0kSZcG7L29IeHLMxmVSsGZMEEGCSqGSIb3DQEBCjA0oA8w
|
||||
DQYJYIZIAWUDBAIBBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZIAWUDBAIBBQCiAwIB
|
||||
IAOCAgEAciHgacQDsOmdPZELlEiqE2i2ly+43PbDgVLPYQ5/86NtzyD2QgwUQIgl
|
||||
rEPWHXjHdxYISevd9vaFWD2fogI2SWQFkNlaShgDnRwgBeNQCrPaCG0jMSabG7Cl
|
||||
5gfRiRUCdMTV4RLbm4zq5ASw2dE8HR1n1MwI+rCHCp+yFsSk115lKQgJTCz4KbMW
|
||||
6iyiI+ZszulIUIegpaUvz38+/48w+SAk9oPHTlI5wnRZPtaqTiXdtx7DPMi9DSAO
|
||||
h5Ngu/swzTAV6owCBwGxLwkcVDoXT3W7RfZcKhThbHXx/DhjDiR9Ham+PVrnJP3Y
|
||||
p6nz9oajKXkmUIUZHla0RbgBRe8FjhC3EWeLxnTzCv1CsygiRxBYbuMWBGmpdgXE
|
||||
LY4bleprE+8yX+MPkjjPD4o/NwNPSkjXQJVOxOglPOG7Eh4lPglR/O8eIZ+NZnWD
|
||||
+6yLMlV8Mmw7zM7CbmBHe+c2eGvy7CAClhSFHdrP9jMyPQZonZVSK0iyQs4RRQKR
|
||||
vsEOVqs7EZdPW8h08ic1EGjJCQB/tfFJ/vzP0CfOLhhnokAA81+4rMiGHPv7+fi3
|
||||
nb03Vb90cletIyOwobD8mufnYD0ua3c4id0WopafR4MF91zr7CXEuvQVcOYfZKY/
|
||||
0LemzFv4pbb+9t44QS3w0OmvENW8ZLRzjzXoSniHqqLlAJ7OmTY=
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_csca_sha384_rsapss_65537_3072 = `
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEazCCAtOgAwIBAgIUNPl3PQoVvPM0WCbqT6wAM1k3eAcwDQYJKoZIhvcNAQEM
|
||||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDEyMTMwNjUxMzZaFw0yNTEy
|
||||
MTMwNjUxMzZaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
||||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggGiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBjwAwggGKAoIBgQCm2b4Bn2fhGEIl+xdxbzPqKSPkG/mmMSGNsc5zxUNU
|
||||
T6IbozNCjOTcKGNPloZgBfXhKjzqEHBD+kIJ8rfoXiUZUsJq24S5x06gQZ9V3Lvo
|
||||
/bRqtyrcWoOvfv1wUiy57jGXRbLA94bdrOz5ybGdubkzEOJ6joSH7wB0qIyO8y5m
|
||||
sh3ZZzgw0ArKeArWB2WyfD40RwCXSZen9Pp6lODsuXFSIqJWHvbSzGImu8aOgJ9q
|
||||
3zS3NG3zocqjMUQtbjoVFKUMdkdrNmVqGMFzUYMMQ/mTUtJ1FOX2SQ/uL12PQiU7
|
||||
/wfQeve5LnXY3Tq+S/0yDReSFe6IB3DMIfMNepfpPmaQW0cAVkCzCpiGjUwlTmND
|
||||
XeNSy1Q9rx3SfiDYwU59JlQgLTBmFWg/b/h9VvbFbIT9EBSntK/u9SgT+O+GQMBA
|
||||
kCBHikzxj87v83Gqm/9n34p1cjBsemPmHBM9/ag6rQoE/L8t0poSyb+J15JWlRl+
|
||||
8gXDuSaQp8a7WHcd7H+qur8CAwEAAaNTMFEwHQYDVR0OBBYEFPVewTeHcXztopII
|
||||
oPIC98lRzGj8MB8GA1UdIwQYMBaAFPVewTeHcXztopIIoPIC98lRzGj8MA8GA1Ud
|
||||
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggGBAD41G9jr8fER6HS7L2ejbqHQ
|
||||
UrOu0wJXFR9FYY9UiL9Ca0sDFeDCkim1YDHYeVeGjgVYPN8lcUMaUxOcFDOo2yYX
|
||||
NnFq7EkVOJsW+fJQNTGJ0j1F7Xoe5PWMYItutyesG1Nlf87tEx18EfPQY4k7iXq5
|
||||
cOAosikMAp12MBc8LK5AvGeatEmpmtyW1R7WklK/ixgQopyMZ+igO4vx9/fm7jNt
|
||||
MDZ+GtigSLTQT/vkuG8kTNhQk+zwkeGeRa1Qzhm/disk25hd2lMTNUZPWJBW0V+5
|
||||
3C+bb99031qWRPVJvV88k1T+piYq9mJdI1unkEOaa2txY/QdG9IiSOz1jEYK1/29
|
||||
yqaIUjkYmRqcZrV930be3/RQiCZrkPcUzdWXu0bmRAb3+drsjFfYyFIpbIJcEmlN
|
||||
iy9uKJEqz9mZR8ApD0mFwjlY3+SZ6TMwTvSJNER9knW7rZWUUxdjQtSFjKc6U8+a
|
||||
jQ9V3syuNDAVMuzZ6X8H8JA5n+jIH9YCPWIm2QmS4Q==
|
||||
-----END CERTIFICATE-----`;
|
||||
|
||||
export const mock_dsc_key_sha384_rsapss_65537_3072 = `
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
AHThNL5pYxeq+tNRsvPYY90=
|
||||
-----END PRIVATE KEY-----`
|
||||
|
||||
export const mock_dsc_sha384_rsapss_65537_3072 = `-----BEGIN CERTIFICATE-----
|
||||
MIIEwjCCAvagAwIBAgIUKp13XbOipd9/h7Vmx21KMC4I40swQQYJKoZIhvcNAQEK
|
||||
MDSgDzANBglghkgBZQMEAgIFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgIF
|
||||
AKIDAgEwMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD
|
||||
VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjQxMjEzMDY1OTEwWhcN
|
||||
MjUwMTEyMDY1OTEwWjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0
|
||||
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBojANBgkqhkiG
|
||||
9w0BAQEFAAOCAY8AMIIBigKCAYEAyYhdYHaomDz+1X8qvTbO+YevRyC+AQxsH0gs
|
||||
Ik8gWeVqnJjSq2pNa5XyOZnlD8enAu95q8lBgs/QQFOfGSsk5q1gcXDfjnZo8lEd
|
||||
IVvmT9gqe/jhWAOzJh23ncSV9BNIMoWKWvLmsO9BFYotFBLjP4zKr+BgfpB9qIeD
|
||||
phtR+1/skP6NxHx9cCzW2EiA69WXCP6SleVvAY6Aqgzig3Ov2k00Vzw/i45r32UA
|
||||
TQpSuhG03xB8CDqntZss0WbePuQJ+qEUnOESDJlu2Xf5BxY6FmbxrGFdnEewsMnN
|
||||
lyCtxYiThx4SRFoaG7RM/ltRI8byGoDwPJ3CBsknqmKc/Y+zTUTQ0eh6Lyr0MiFv
|
||||
XAEmg+IUZJKCu7V9iwQ//VXAsg/iS/odYB7tYpgK0vtfV420NQCTb0yQe0SSAzaU
|
||||
0WfNd2MkbFR7wR3K5LiHVVVbftyBx0sOBCuz8KPZvtfJJ0EJnNG7ENF52KGm+/lt
|
||||
6FGIo2QQKEwg6JNjpkYx9WsLmd3NAgMBAAGjQjBAMB0GA1UdDgQWBBSirBqzi8Ku
|
||||
LgABCiy/GuijBtCw5DAfBgNVHSMEGDAWgBT1XsE3h3F87aKSCKDyAvfJUcxo/DBB
|
||||
BgkqhkiG9w0BAQowNKAPMA0GCWCGSAFlAwQCAgUAoRwwGgYJKoZIhvcNAQEIMA0G
|
||||
CWCGSAFlAwQCAgUAogMCATADggGBAExIgm8A1cmJWqjsLSuI18OzmPW+TuXmudcY
|
||||
LixkrX8hpgGclPztIe78l4WLoghs9Sw/C6S0A9RIUBq6azN0sRN4ORRx8k1iuydq
|
||||
ziApH+D0KH08zh2AE4+YlmEehyT2TXTnUMHMUskdZ+47qaG76KpGwQYR1Ph2PvA9
|
||||
a00rebuSUjkOn8Ak+hugLMuHH84r1+op+nQJMML0Iieh/JpQWMTgRB+jmFzNUhlS
|
||||
Xh1KiBuApTj7/oq9udFFcSdxFHsKkC/Ky9V/cN9UscASMTXGxCvFjMfVcjrON/9Y
|
||||
6Wsq7sqby21g/Yx4VGI205zcX9eyaWFRGamv5dxY3p2CoRhhK3cj7/FBeX14MZPH
|
||||
niOQ/EOeQNP7BK//Gc9YJR8CM1uypZmw4MAoYRsllhE98wo5t7K+Yh3XbEIxZTSU
|
||||
fs8LHRtGciln2kBjHJSRifhPFSXILGgEPRPvOMHgDHLzr7QFajskU3fv/MV2zqfS
|
||||
10b7qUNrwvURph+aXyMiamRoVvp6KA==
|
||||
-----END CERTIFICATE-----
|
||||
`
|
||||
|
||||
export const mock_csca_key_sha256_rsapss_3_4096 = `-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
3/LoY/4aa+7GJHODW7R4G9oiQx8/Lg==
|
||||
-----END PRIVATE KEY-----
|
||||
|
||||
`
|
||||
|
||||
export const mock_csca_sha256_rsapss_3_4096 = `-----BEGIN CERTIFICATE-----
|
||||
MIIFaTCCA1GgAwIBAgIUBLDEWBLHolBcAfAj5FihkI3d8ccwDQYJKoZIhvcNAQEL
|
||||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDEyMTIxMjIyNTdaFw0yNTEy
|
||||
MTIxMjIyNTdaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
||||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggIgMA0GCSqGSIb3DQEB
|
||||
AQUAA4ICDQAwggIIAoICAQDydOy1SpmPOD/hp9dgnNfOtpvAW+4s9MThM4qz6iMX
|
||||
fPBMrVZS0/LIdk15w2FTXRXO/82vKD3+UcOkWd5OuFTZtxrkU78L0nfUemhSGWrP
|
||||
1/39BHbCxObxT8vnyRaJGSi2CoD0hE07m5ldguCwp+a3ITO3NDRn/DFl2XkqaOMm
|
||||
h3WWWR9mTY2ZtODbs8tW+5AZyJRvvlaRNbeWzGdvbPnfoQ4Xp04OqxBiF+woHtBh
|
||||
VT/i8Ya25GFsaCrVxNY2sQKSNnuJ+fM2jAfKVcDps1AjYnmuOSoLccWORJDpeXGB
|
||||
z6dgpYIEMbSPQ0YgXLzKAu7tH4Tb3xBlSrnRTO3vWqUew9lGSiwWnQdrPXITw68C
|
||||
wrS9umH3ZnHp3voHGyLwxRWTVITWOZvhFEw8SrbmQ2ZiavWkaqQP8DB+HqeXX0QI
|
||||
8ugN47k/+DG+5Jf/xEWo2D3BEX4BY2jWSg75/YL3ql9FSturwxiJTKl2r5WjuwKu
|
||||
qWOKrJqw7JT8zuJCr7s0GK4OzH+jHkFxl9+noTZ+gzzvuzxTpfd3rdkZ20IHq7ft
|
||||
Qklrj51lGzJjSFj37xDCxs9Nd9as5/FObgvweJa6RT8ClSDb4D/Csfeo0DajyWK1
|
||||
fH2iQYVZd59+WnNdYb7P5b5uJPMwfmu7PljTe0zQmFriSKV4jkD+RuA4wxFHzPJO
|
||||
2wIBA6NTMFEwHQYDVR0OBBYEFCXfq3ezogNpS2gg99W61eRSbbAhMB8GA1UdIwQY
|
||||
MBaAFCXfq3ezogNpS2gg99W61eRSbbAhMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
||||
hvcNAQELBQADggIBACpy4FC2cIodrCOPZprjRD+ElrcQ5qSx7WLT9oF04rFAJoGi
|
||||
X4HeW+gzxy9bM+j8v7D9rXXaY3xWh+2h51p+XM76zOGZZ1pkYnt+7EPjTAb4Eyjp
|
||||
OiViZhWwysMTAxPDalu4hQ65/TvphGxRwU+MuJEME8XBCDdxjgO7sub1bGnqQgYv
|
||||
JmhxGOgElnqkror0LXNAml3PM6OVZAndaR4AM6RD2D/zKGee4HQDcRodO7U/qBN2
|
||||
Nl98hqUIKjI7EyIErqePpgYq1L8n6xCZn05FNkkrLB1wTeTEuwS6t+skQ+V7FLFi
|
||||
d89nRVLNmVmQp7QqI0i5Jmc51a2Q4siFrugqNVA3kYO270Hoxlggdl5fWhprjoK2
|
||||
eOZZT3bQ+3KMn2RGw7OsynU7hwHt90RcMtd0Ld2g/pK/5jZRea3TVkGSwLG7KdXh
|
||||
RhR4lHe8WJpIUrHeFX7Zmo5r6FMP003zrm1uXVI8eSSAwUIsvLTxWMQfwrzxGB7J
|
||||
lPxSG4KXuoMUvIsDxV8JctXzP5OOf1hY+boqd3n8YeMTWt1qA7TYsKJTsLBU2XO4
|
||||
HYcuL8c7y01o/R4QfTlXcIofI0EV0yLRo/0/+ynScI43JgEruX5BpN5Kb0Q8rciN
|
||||
zgPsBxvGQAcHf/j9vPuV9J7Ysm5Ek3mYiHVqkVii8nHwsts2xjDCPUGUc58H
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_dsc_key_sha256_rsapss_3_4096 = `-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
YB+6OfEWTqL61rgUMTbCi6YM5fJToQ==
|
||||
-----END PRIVATE KEY-----
|
||||
`
|
||||
|
||||
export const mock_dsc_sha256_rsapss_3_4096 = `-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_csca_key_sha256_rsapss_3_3072 = `-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
bY2vE1eZZKW5i7g3c6hQ3Zxw
|
||||
-----END PRIVATE KEY-----`
|
||||
export const mock_csca_sha256_rsapss_3_3072 = `-----BEGIN CERTIFICATE-----
|
||||
MIIEaTCCAtGgAwIBAgIULeDw7IsLsk6y9yqcAARrKm0qiOkwDQYJKoZIhvcNAQEL
|
||||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDEyMTIxOTE0MDZaFw0yNTEy
|
||||
MTIxOTE0MDZaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
||||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggGgMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBjQAwggGIAoIBgQDvXdX22QnHkizRF/dpwjF2HWwIrxErOOrWcWV+V6nx
|
||||
vbTBSSmVnPL5gIs0o5LaZ+lr2Hzqit9RQB+AJAfbinYmcWhJ6DYA+zzTet7jJuCJ
|
||||
UkZOLrH/zGE5ZbSkohLGm6nks9XYzotfyZq7ZxOupF0YE8Mtrlsm2JugXxNhji2/
|
||||
JxsMvDbytebQVpJ2PeNg6CQthvVPP5UKjsUUvf9YWz26v60TLf+aNGEdZpUE8DI9
|
||||
agFrrLUPloAmyz/ZyIR2LCCMa8U9M9iU8Hv85R5hvpGFRKnMed8tivs1TQxeniho
|
||||
hNJIvjy9Y8oq8YdrybcIQ31CHBGHhOCyqqjSnzlgl93lag7lWSHrASZ88NbBZPyx
|
||||
0PAPvx8cWV/OFHN8hsnbi6kp+e+hsPmkWy2Tu9yVaCQm8FYtNgqzWLLWg549yBZj
|
||||
P/WYp3SEkgMNEs5AhgQaPLWyipvq28fh1l/sP8/zi77kV9hN/GBMqIpYJyqZtyXd
|
||||
PWKUqxpIg5mWnvnF6va7T+ECAQOjUzBRMB0GA1UdDgQWBBRBjXdtF8eayvNjXqdQ
|
||||
UDjVDlzWIDAfBgNVHSMEGDAWgBRBjXdtF8eayvNjXqdQUDjVDlzWIDAPBgNVHRMB
|
||||
Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBgQDhQRUasfCl6ob1/uQUPK5saDEF
|
||||
X1nZ9ZvgjLQWumP9geyOAOsiZhd76VzMeoH4V6d3pGCjrwvDiZt5vBqU+geVOMaT
|
||||
A+juDdhZLO75i7sVLa1Y5Mrz/OAhFj8sX5Ai5S+R/f4upsteSk/PrJOMTFX9Wxog
|
||||
H/H8pb3dwMOmNXAZP9o63sB2ZJbpvuLq1um53Ky61tVmJi3kLONYB91vOuPj+Wns
|
||||
fnbdpgpI4d9oDeu4mgo5scKO8oHZYl737gqFDf46oujI0GE1hmX/K5P45eNLZGCI
|
||||
tfVk9Q7vZdBnckNSPQMWWUFmzYwzJrGMKA2Rugev2ZuFqoOVz528LK8p+NMQKfCO
|
||||
kTtURp/t2fxEqFtIZo8x2LmGidAyoQzHHLBO7Dw1DgNBNgKdVmKkDI5BGirT8gSA
|
||||
EBBq0cqKIavLC0jvyktLHDgB8OP+fM/cU9Rjmp5GCXjDERDSbp4EmQTGMEtrb4nz
|
||||
483fjGfLkqBGAxsC7F9cjZMlTHDxFZXxWpoWM4o=
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_dsc_key_sha256_rsapss_3_3072 = `-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
/pE7Qvc1Voct0h8T4dQ0zA==
|
||||
-----END PRIVATE KEY-----`
|
||||
export const mock_dsc_sha256_rsapss_3_3072 = `-----BEGIN CERTIFICATE-----
|
||||
MIIEwDCCAvSgAwIBAgIUJ0ZUVWmsXZwHvjP+PmM4YQ5mEb4wQQYJKoZIhvcNAQEK
|
||||
MDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgEF
|
||||
AKIDAgEgMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD
|
||||
VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjQxMjEyMTkxNDM4WhcN
|
||||
MjUwMTExMTkxNDM4WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0
|
||||
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBoDANBgkqhkiG
|
||||
9w0BAQEFAAOCAY0AMIIBiAKCAYEAs5/7E+icUAiZ+MvmEq1ONIcP0RKgZ4u076rJ
|
||||
uE8cK4U6wtBnym90/3KpIg7mhku7QbB9y2q7NmwDTXHnF1Mf7gOYIeoJaHDLZNWQ
|
||||
QqJj1Lye5Uf8+PR8y0OneEPcJRWf0oYbfmIGaVXa0+3ldrMHZGajtZg/fU8+X0RG
|
||||
tTa3c2RCzOq/lMlP1nFTE8Djvq0rX3eZX9yBKOLb2eW+vTKrw4Y7igP7/9yEVLG/
|
||||
CT8Lcbjm/Avg6vKixWLcoXHyVhjH6D7cbBshNK97WVveZVkUrRiEo5qgX7e6pkV4
|
||||
t7s3/QdUXM52r8ZBhJql+kyUsE4l9LPx8d/WmTSIjvbiDIZr/xf6zX8AKd6mkp9H
|
||||
9Hgtn/bg8Ym0I3BNMUvGxn78Mf/fZOAmRHzSUcMcp3ImXdhAYO3ELliCabitbK+d
|
||||
zQ7gaIgojuhCJxeENSt+7DbPxEc3DfPXJT6fERDIijuGI3fzTB8ebgaCiE2HSi2E
|
||||
NNct/plOX1Be7ic0Ma8aExs487LnAgEDo0IwQDAdBgNVHQ4EFgQUizusmKLyHb14
|
||||
pUST4CYj1exwu/8wHwYDVR0jBBgwFoAUQY13bRfHmsrzY16nUFA41Q5c1iAwQQYJ
|
||||
KoZIhvcNAQEKMDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglg
|
||||
hkgBZQMEAgEFAKIDAgEgA4IBgQDp4PPvZXZCM3BYlHVgJ5lSSsDozpJfQMpDkDC/
|
||||
lZ+xp6rxaSJQLb+Gba2YGPUwADQk2Vyjrs2rMJRRJsM7E7r3bKHZ32jgk98r2Nzd
|
||||
Ksrib7YFPcRgQ0e0xjpMnodrPQxAtWVkKXubW2g6Ox5DTiVbpxL7JS2v+tW0NmtX
|
||||
VfGiNLzrphMI9HHD8JnBkBHYK+uL7IFl3NBNrKhuXcJOpSg8NjF1O8ahJCSDowaV
|
||||
jcTjoIsT3jQtx+KiDn1/iCPgICDSL//Vf4ADkxm/nBqfu2PU28XMD5BtD7QNUrTb
|
||||
wpvVlQCy3DmQ6We1uJFRCcMn3Q+j5pj1YQJxmWjljyJPuF07g7m88npBuGcDnpxY
|
||||
EIVsQptX3LYy5/0l+zZbkGr//soirv7HlQREN8lsSZtvBepkNyZafg9KasxynDbB
|
||||
QSwFfauMiF/q99reqMmst0BCBe77lXb8/ParwbqayowiJmNjcSvJeTpVG3rz6nYK
|
||||
ruZ86kNVDqbSZ6qZjjQoMrLvKQg=
|
||||
-----END CERTIFICATE-----`
|
||||
|
||||
export const mock_dsc_sha256_rsapss_4096 = `-----BEGIN CERTIFICATE-----
|
||||
MIIEXTCCAhGgAwIBAgIUdS5K/Y5Ty0C8hDFibjmvBeQr4SgwQQYJKoZIhvcNAQEK
|
||||
MDSgDzANBglghkgBZQMEAgEFAKEcMBoGCSqGSIb3DQEBCDANBglghkgBZQMEAgEF
|
||||
|
||||
@@ -24,6 +24,16 @@ import {
|
||||
mock_dsc_sha256_rsa_3_2048,
|
||||
mock_dsc_key_sha256_rsa_65537_3072,
|
||||
mock_dsc_sha256_rsa_65537_3072,
|
||||
mock_dsc_key_sha256_rsapss_3_4096,
|
||||
mock_dsc_sha256_rsapss_3_4096,
|
||||
mock_dsc_key_sha256_rsapss_3_3072,
|
||||
mock_dsc_sha256_rsapss_3_3072,
|
||||
mock_dsc_key_sha384_rsapss_65537_3072,
|
||||
mock_dsc_sha384_rsapss_65537_3072,
|
||||
mock_dsc_key_sha256_rsapss_65537_3072,
|
||||
mock_dsc_sha256_rsapss_65537_3072,
|
||||
mock_dsc_key_rsapss_65537_4096,
|
||||
mock_dsc_sha256_rsapss_65537_4096,
|
||||
} from '../constants/mockCertificates';
|
||||
import { sampleDataHashes_small, sampleDataHashes_large } from '../constants/sampleDataHashes';
|
||||
import { countryCodes } from '../constants/constants';
|
||||
@@ -97,6 +107,21 @@ export function genMockPassportData(
|
||||
privateKeyPem = mock_dsc_key_sha256_rsapss_4096;
|
||||
dsc = mock_dsc_sha256_rsapss_4096;
|
||||
break;
|
||||
case 'rsapss_sha256_3_4096':
|
||||
sampleDataHashes = sampleDataHashes_large;
|
||||
privateKeyPem = mock_dsc_key_sha256_rsapss_3_4096;
|
||||
dsc = mock_dsc_sha256_rsapss_3_4096;
|
||||
break;
|
||||
case 'rsapss_sha256_3_3072':
|
||||
sampleDataHashes = sampleDataHashes_large;
|
||||
privateKeyPem = mock_dsc_key_sha256_rsapss_3_3072;
|
||||
dsc = mock_dsc_sha256_rsapss_3_3072;
|
||||
break;
|
||||
case 'rsapss_sha384_65537_3072':
|
||||
sampleDataHashes = sampleDataHashes_large;
|
||||
privateKeyPem = mock_dsc_key_sha384_rsapss_65537_3072;
|
||||
dsc = mock_dsc_sha384_rsapss_65537_3072;
|
||||
break;
|
||||
case 'ecdsa_sha256_secp256r1_256':
|
||||
sampleDataHashes = sampleDataHashes_large;
|
||||
privateKeyPem = mock_dsc_key_sha256_ecdsa;
|
||||
@@ -127,6 +152,16 @@ export function genMockPassportData(
|
||||
privateKeyPem = mock_dsc_key_sha256_rsa_65537_3072;
|
||||
dsc = mock_dsc_sha256_rsa_65537_3072;
|
||||
break;
|
||||
case 'rsapss_sha256_65537_3072':
|
||||
sampleDataHashes = sampleDataHashes_large;
|
||||
privateKeyPem = mock_dsc_key_sha256_rsapss_65537_3072;
|
||||
dsc = mock_dsc_sha256_rsapss_65537_3072;
|
||||
break;
|
||||
case 'rsapss_sha256_65537_4096':
|
||||
sampleDataHashes = sampleDataHashes_large;
|
||||
privateKeyPem = mock_dsc_key_rsapss_65537_4096;
|
||||
dsc = mock_dsc_sha256_rsapss_65537_4096;
|
||||
break;
|
||||
}
|
||||
|
||||
const { hashFunction, hashLen } = parseCertificate(dsc);
|
||||
|
||||
@@ -13,17 +13,23 @@ export type PassportData = {
|
||||
|
||||
// Define the signature algorithm in "algorithm_hashfunction_domainPapameter_keyLength"
|
||||
export type SignatureAlgorithm =
|
||||
| 'rsa_sha1_65537_2048'
|
||||
| 'rsa_sha256_65537_2048'
|
||||
| 'rsapss_sha256_65537_2048'
|
||||
| 'ecdsa_sha256_secp256r1_256'
|
||||
| 'ecdsa_sha1_secp256r1_256'
|
||||
| 'ecdsa_sha384_secp384r1_384'
|
||||
| 'ecdsa_sha256_brainpoolP256r1_256'
|
||||
| 'rsa_sha256_3_2048'
|
||||
| 'rsa_sha256_65537_3072'
|
||||
| 'rsa_sha256_65537_4096'
|
||||
| 'rsa_sha512_65537_4096';
|
||||
| 'rsa_sha1_65537_2048'
|
||||
| 'rsa_sha256_65537_2048'
|
||||
| 'rsapss_sha256_65537_2048'
|
||||
| 'rsapss_sha256_3_4096'
|
||||
| 'rsapss_sha256_3_3072'
|
||||
| 'rsapss_sha384_65537_3072'
|
||||
| 'rsapss_sha384_65537_4096'
|
||||
| 'ecdsa_sha256_secp256r1_256'
|
||||
| 'ecdsa_sha1_secp256r1_256'
|
||||
| 'ecdsa_sha384_secp384r1_384'
|
||||
| 'ecdsa_sha256_brainpoolP256r1_256'
|
||||
| 'rsa_sha256_3_2048'
|
||||
| 'rsa_sha256_65537_3072'
|
||||
| 'rsa_sha256_65537_4096'
|
||||
| 'rsa_sha512_65537_4096'
|
||||
| 'rsapss_sha256_65537_3072'
|
||||
| 'rsapss_sha256_65537_4096';
|
||||
|
||||
export type Proof = {
|
||||
proof: {
|
||||
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
n_csca,
|
||||
k_csca,
|
||||
attributeToPosition,
|
||||
k_dsc_3072,
|
||||
} from '../constants/constants';
|
||||
import { unpackReveal } from './revealBitmap';
|
||||
import { SignatureAlgorithm } from './types';
|
||||
@@ -40,6 +41,15 @@ export function getNAndK(sigAlg: SignatureAlgorithm) {
|
||||
}
|
||||
|
||||
if (sigAlg.startsWith('rsapss_')) {
|
||||
const keyLength = parseInt(sigAlg.split('_')[3]);
|
||||
|
||||
if (keyLength === 3072) {
|
||||
return { n: n_dsc_3072, k: k_dsc_3072 }; // 3072/32 = 96
|
||||
}
|
||||
|
||||
if (keyLength === 4096) {
|
||||
return { n: n_dsc_4096, k: k_dsc_4096 }; // 4096/32 = 128
|
||||
}
|
||||
return { n: n_dsc, k: k_dsc }; // 2048/32 = 64
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user