@pagopa/io-react-native-jwt 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "UnsecuredJWT", {
27
27
  return _unsecured.UnsecuredJWT;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "addPadding", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _base.addPadding;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "decode", {
31
37
  enumerable: true,
32
38
  get: function () {
@@ -69,6 +75,12 @@ Object.defineProperty(exports, "isSignatureValid", {
69
75
  return _index2.isSignatureValid;
70
76
  }
71
77
  });
78
+ Object.defineProperty(exports, "removePadding", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _base.removePadding;
82
+ }
83
+ });
72
84
  Object.defineProperty(exports, "sha256ToBase64", {
73
85
  enumerable: true,
74
86
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_index2","_index3","_produce","_sign","_unsecured","_asn","_base","_hash"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAMA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAGA,IAAAM,IAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA"}
1
+ {"version":3,"names":["_index","require","_index2","_index3","_produce","_sign","_unsecured","_asn","_base","_hash"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAMA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAGA,IAAAM,IAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAMA,IAAAQ,KAAA,GAAAR,OAAA"}
@@ -75,10 +75,11 @@ class SignJWT extends _produce.ProduceJWT {
75
75
  if (signature === '') throw new _errors.JWSInvalid('Invalid signature');
76
76
  const jwtDecoded = SignJWT.decodeJwtWithoutSignature(jwtWithoutSignature);
77
77
  const alg = jwtDecoded.header.alg;
78
- try {
78
+ const kty = (0, _algorithms.getKtyFromAlg)(alg);
79
+ if (kty === 'EC') {
79
80
  const encodedJws = await (0, _asn.derToJose)(signature, alg);
80
81
  return `${jwtWithoutSignature}.${encodedJws}`;
81
- } catch {
82
+ } else {
82
83
  const encodedJws = (0, _base.removePadding)(signature);
83
84
  return `${jwtWithoutSignature}.${encodedJws}`;
84
85
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_produce","_base","_algorithms","_asn","SignJWT","ProduceJWT","setProtectedHeader","protectedHeader","alg","isAlgSupported","_protectedHeader","JOSENotSupported","toSign","JWSInvalid","encodeBase64","JSON","stringify","payload","_payload","appendSignature","jwtWithoutSignature","signature","JWTInvalid","jwtDecoded","decodeJwtWithoutSignature","header","encodedJws","derToJose","removePadding","encodedHeader","encodedPayload","length","split","decoded","decodeBase64","parse","decodedPayload","decode","jwt","exports"],"sourceRoot":"../../../src","sources":["jwt/sign.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_errors","require","_produce","_base","_algorithms","_asn","SignJWT","ProduceJWT","setProtectedHeader","protectedHeader","alg","isAlgSupported","_protectedHeader","JOSENotSupported","toSign","JWSInvalid","encodeBase64","JSON","stringify","payload","_payload","appendSignature","jwtWithoutSignature","signature","JWTInvalid","jwtDecoded","decodeJwtWithoutSignature","header","kty","getKtyFromAlg","encodedJws","derToJose","removePadding","encodedHeader","encodedPayload","length","split","decoded","decodeBase64","parse","decodedPayload","decode","jwt","exports"],"sourceRoot":"../../../src","sources":["jwt/sign.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,IAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,OAAO,SAASC,mBAAU,CAAC;EAGtC;AACF;AACA;AACA;AACA;EACEC,kBAAkBA,CAACC,eAA2C,EAAE;IAC9D,IAAIA,eAAe,CAACC,GAAG,IAAI,IAAAC,0BAAc,EAACF,eAAe,CAACC,GAAG,CAAC,EAAE;MAC9D,IAAI,CAACE,gBAAgB,GAAGH,eAAe;MACvC,OAAO,IAAI;IACb;IACA,MAAM,IAAII,wBAAgB,CAAC,yBAAyB,CAAC;EACvD;;EAEA;AACF;AACA;AACA;EACEC,MAAMA,CAAA,EAAW;IACf,IAAI,CAAC,IAAI,CAACF,gBAAgB,IAAI,CAAC,IAAI,CAACA,gBAAgB,CAACF,GAAG,EAAE;MACxD,MAAM,IAAIK,kBAAU,CAClB,sDACF,CAAC;IACH;IACA,MAAMN,eAAe,GAAG,IAAAO,kBAAY,EAACC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACN,gBAAgB,CAAC,CAAC;IAC3E,MAAMO,OAAO,GAAG,IAAAH,kBAAY,EAACC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACE,QAAQ,CAAC,CAAC;IAC3D,IAAID,OAAO,IAAIV,eAAe,EAAE;MAC9B,OAAQ,GAAEA,eAAgB,IAAGU,OAAQ,EAAC;IACxC,CAAC,MAAM;MACL,MAAM,IAAIJ,kBAAU,CAAC,CAAC;IACxB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAaM,eAAeA,CAC1BC,mBAA2B,EAC3BC,SAAiB,EACA;IACjB,IACE,OAAOD,mBAAmB,KAAK,QAAQ,IACvC,OAAOC,SAAS,KAAK,QAAQ,EAC7B;MACA,MAAM,IAAIC,kBAAU,CAAC,sBAAsB,CAAC;IAC9C;IACA,IAAID,SAAS,KAAK,EAAE,EAAE,MAAM,IAAIR,kBAAU,CAAC,mBAAmB,CAAC;IAE/D,MAAMU,UAAU,GAAGnB,OAAO,CAACoB,yBAAyB,CAACJ,mBAAmB,CAAC;IACzE,MAAMZ,GAAG,GAAGe,UAAU,CAACE,MAAM,CAACjB,GAAG;IACjC,MAAMkB,GAAG,GAAG,IAAAC,yBAAa,EAACnB,GAAG,CAAC;IAE9B,IAAIkB,GAAG,KAAK,IAAI,EAAE;MAChB,MAAME,UAAU,GAAG,MAAM,IAAAC,cAAS,EAACR,SAAS,EAAEb,GAAG,CAAC;MAClD,OAAQ,GAAEY,mBAAoB,IAAGQ,UAAW,EAAC;IAC/C,CAAC,MAAM;MACL,MAAMA,UAAU,GAAG,IAAAE,mBAAa,EAACT,SAAS,CAAC;MAC3C,OAAQ,GAAED,mBAAoB,IAAGQ,UAAW,EAAC;IAC/C;EACF;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOJ,yBAAyBA,CAACJ,mBAA2B,EAG1D;IACA,IAAI,OAAOA,mBAAmB,KAAK,QAAQ,EAAE;MAC3C,MAAM,IAAIE,kBAAU,CAAC,sBAAsB,CAAC;IAC9C;IACA,MAAM;MACJ,CAAC,EAAES,aAAa;MAChB,CAAC,EAAEC,cAAc;MACjBC;IACF,CAAC,GAAGb,mBAAmB,CAACc,KAAK,CAAC,GAAG,CAAC;IAElC,IAAIT,MAAkC;IACtC,IAAI;MACF,IAAIU,OAAO,GAAG,IAAAC,kBAAY,EAACL,aAAc,CAAC;MAC1CN,MAAM,GAAGV,IAAI,CAACsB,KAAK,CAACF,OAAO,CAAC;MAC5B,IAAI,CAACV,MAAM,CAACjB,GAAG,IAAI,CAAC,IAAAC,0BAAc,EAACgB,MAAM,CAACjB,GAAG,CAAC,EAAE;QAC9C,MAAM,IAAIG,wBAAgB,CAAC,yBAAyB,CAAC;MACvD;IACF,CAAC,CAAC,MAAM;MACN,MAAM,IAAIW,kBAAU,CAAC,6BAA6B,CAAC;IACrD;IAEA,IAAIW,MAAM,KAAK,CAAC,IAAID,cAAc,KAAK,EAAE,EAAE;MACzC,MAAM,IAAIV,kBAAU,CAAC,qBAAqB,CAAC;IAC7C;IAEA,IAAIgB,cAAc,GAAG,IAAAF,kBAAY,EAACJ,cAAe,CAAC;IAClD,MAAMf,OAAO,GAAGF,IAAI,CAACsB,KAAK,CAACC,cAAc,CAAC;IAE1C,OAAO;MACLrB,OAAO;MACPQ;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOc,MAAMA,CAACC,GAAW,EAAmB;IAC1C,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MAC3B,MAAM,IAAIlB,kBAAU,CAAC,sBAAsB,CAAC;IAC9C;IACA,MAAM;MACJ,CAAC,EAAES,aAAa;MAChB,CAAC,EAAEC,cAAc;MACjB,CAAC,EAAEX,SAAS;MACZY;IACF,CAAC,GAAGO,GAAG,CAACN,KAAK,CAAC,GAAG,CAAC;IAElB,IAAI3B,eAA2C;IAC/C,IAAI;MACF,IAAI4B,OAAO,GAAG,IAAAC,kBAAY,EAACL,aAAc,CAAC;MAC1CxB,eAAe,GAAGQ,IAAI,CAACsB,KAAK,CAACF,OAAO,CAAC;MACrC,IAAI,CAAC5B,eAAe,CAACC,GAAG,IAAI,CAAC,IAAAC,0BAAc,EAACF,eAAe,CAACC,GAAG,CAAC,EAAE;QAChE,MAAM,IAAIG,wBAAgB,CAAC,yBAAyB,CAAC;MACvD;IACF,CAAC,CAAC,MAAM;MACN,MAAM,IAAIW,kBAAU,CAAC,6BAA6B,CAAC;IACrD;IAEA,IAAIW,MAAM,KAAK,CAAC,IAAID,cAAc,KAAK,EAAE,IAAIX,SAAS,KAAK,EAAE,EAAE;MAC7D,MAAM,IAAIC,kBAAU,CAAC,aAAa,CAAC;IACrC;IAEA,IAAIgB,cAAc,GAAG,IAAAF,kBAAY,EAACJ,cAAe,CAAC;IAClD,MAAMf,OAAO,GAAGF,IAAI,CAACsB,KAAK,CAACC,cAAc,CAAC;IAE1C,OAAO;MACLrB,OAAO;MACPV;IACF,CAAC;EACH;AACF;AAACkC,OAAA,CAAArC,OAAA,GAAAA,OAAA"}
@@ -27,7 +27,7 @@ const derToJose = async (asn1Signature, alg) => {
27
27
  const kty = (0, _algorithms.getKtyFromAlg)(alg);
28
28
  if (kty === 'EC') {
29
29
  const unpackedJws = await _proxy.IoReactNativeJwt.unpackBerEncodedASN1(asn1Signature, (0, _algorithms.getCoordinateOctetLength)(alg));
30
- const encodedJws = (0, _base.removePadding)(unpackedJws);
30
+ const encodedJws = (0, _base.removePadding)(unpackedJws).replace(/(?:\r\n|\r|\n)/g, '');
31
31
  return encodedJws;
32
32
  } else {
33
33
  throw new _errors.JOSENotSupported('Unsupported "alg" value');
@@ -1 +1 @@
1
- {"version":3,"names":["_algorithms","require","_proxy","_base","_errors","derToJose","asn1Signature","alg","kty","getKtyFromAlg","unpackedJws","IoReactNativeJwt","unpackBerEncodedASN1","getCoordinateOctetLength","encodedJws","removePadding","JOSENotSupported","exports"],"sourceRoot":"../../../src","sources":["utils/asn1.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,SAAS,GAAG,MAAAA,CACvBC,aAAqB,EACrBC,GAAW,KACS;EACpB,MAAMC,GAAG,GAAG,IAAAC,yBAAa,EAACF,GAAG,CAAC;EAC9B,IAAIC,GAAG,KAAK,IAAI,EAAE;IAChB,MAAME,WAAW,GAAG,MAAMC,uBAAgB,CAACC,oBAAoB,CAC7DN,aAAa,EACb,IAAAO,oCAAwB,EAACN,GAAG,CAC9B,CAAC;IACD,MAAMO,UAAU,GAAG,IAAAC,mBAAa,EAACL,WAAW,CAAC;IAC7C,OAAOI,UAAU;EACnB,CAAC,MAAM;IACL,MAAM,IAAIE,wBAAgB,CAAC,yBAAyB,CAAC;EACvD;AACF,CAAC;AAACC,OAAA,CAAAZ,SAAA,GAAAA,SAAA"}
1
+ {"version":3,"names":["_algorithms","require","_proxy","_base","_errors","derToJose","asn1Signature","alg","kty","getKtyFromAlg","unpackedJws","IoReactNativeJwt","unpackBerEncodedASN1","getCoordinateOctetLength","encodedJws","removePadding","replace","JOSENotSupported","exports"],"sourceRoot":"../../../src","sources":["utils/asn1.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,SAAS,GAAG,MAAAA,CACvBC,aAAqB,EACrBC,GAAW,KACS;EACpB,MAAMC,GAAG,GAAG,IAAAC,yBAAa,EAACF,GAAG,CAAC;EAC9B,IAAIC,GAAG,KAAK,IAAI,EAAE;IAChB,MAAME,WAAW,GAAG,MAAMC,uBAAgB,CAACC,oBAAoB,CAC7DN,aAAa,EACb,IAAAO,oCAAwB,EAACN,GAAG,CAC9B,CAAC;IACD,MAAMO,UAAU,GAAG,IAAAC,mBAAa,EAACL,WAAW,CAAC,CAACM,OAAO,CACnD,iBAAiB,EACjB,EACF,CAAC;IACD,OAAOF,UAAU;EACnB,CAAC,MAAM;IACL,MAAM,IAAIG,wBAAgB,CAAC,yBAAyB,CAAC;EACvD;AACF,CAAC;AAACC,OAAA,CAAAb,SAAA,GAAAA,SAAA"}
@@ -5,6 +5,6 @@ export { ProduceJWT } from './jwt/produce';
5
5
  export { SignJWT } from './jwt/sign';
6
6
  export { UnsecuredJWT } from './jwt/unsecured';
7
7
  export { derToJose } from './utils/asn1';
8
- export { encodeBase64, decodeBase64 } from './utils/base64';
8
+ export { encodeBase64, decodeBase64, removePadding, addPadding } from './utils/base64';
9
9
  export { sha256ToBase64 } from './hash';
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EncryptJwe","decode","isSignatureValid","verify","getJwkFromHeader","thumbprint","getRemoteJWKSet","ProduceJWT","SignJWT","UnsecuredJWT","derToJose","encodeBase64","decodeBase64","sha256ToBase64"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,aAAa;AACxC,SACEC,MAAM,EACNC,gBAAgB,EAChBC,MAAM,EACNC,gBAAgB,QACX,aAAa;AACpB,SAASC,UAAU,EAAEC,eAAe,QAAQ,aAAa;AACzD,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,YAAY,QAAQ,iBAAiB;AAG9C,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,YAAY,EAAEC,YAAY,QAAQ,gBAAgB;AAC3D,SAASC,cAAc,QAAQ,QAAQ"}
1
+ {"version":3,"names":["EncryptJwe","decode","isSignatureValid","verify","getJwkFromHeader","thumbprint","getRemoteJWKSet","ProduceJWT","SignJWT","UnsecuredJWT","derToJose","encodeBase64","decodeBase64","removePadding","addPadding","sha256ToBase64"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,aAAa;AACxC,SACEC,MAAM,EACNC,gBAAgB,EAChBC,MAAM,EACNC,gBAAgB,QACX,aAAa;AACpB,SAASC,UAAU,EAAEC,eAAe,QAAQ,aAAa;AACzD,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,YAAY,QAAQ,iBAAiB;AAG9C,SAASC,SAAS,QAAQ,cAAc;AACxC,SACEC,YAAY,EACZC,YAAY,EACZC,aAAa,EACbC,UAAU,QACL,gBAAgB;AACvB,SAASC,cAAc,QAAQ,QAAQ"}
@@ -1,7 +1,7 @@
1
1
  import { JOSENotSupported, JWSInvalid, JWTInvalid } from '../utils/errors';
2
2
  import { ProduceJWT } from './produce';
3
3
  import { decodeBase64, encodeBase64, removePadding } from '../utils/base64';
4
- import { isAlgSupported } from '../algorithms';
4
+ import { getKtyFromAlg, isAlgSupported } from '../algorithms';
5
5
  import { derToJose } from '../utils/asn1';
6
6
 
7
7
  /**
@@ -70,10 +70,11 @@ export class SignJWT extends ProduceJWT {
70
70
  if (signature === '') throw new JWSInvalid('Invalid signature');
71
71
  const jwtDecoded = SignJWT.decodeJwtWithoutSignature(jwtWithoutSignature);
72
72
  const alg = jwtDecoded.header.alg;
73
- try {
73
+ const kty = getKtyFromAlg(alg);
74
+ if (kty === 'EC') {
74
75
  const encodedJws = await derToJose(signature, alg);
75
76
  return `${jwtWithoutSignature}.${encodedJws}`;
76
- } catch {
77
+ } else {
77
78
  const encodedJws = removePadding(signature);
78
79
  return `${jwtWithoutSignature}.${encodedJws}`;
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"names":["JOSENotSupported","JWSInvalid","JWTInvalid","ProduceJWT","decodeBase64","encodeBase64","removePadding","isAlgSupported","derToJose","SignJWT","setProtectedHeader","protectedHeader","alg","_protectedHeader","toSign","JSON","stringify","payload","_payload","appendSignature","jwtWithoutSignature","signature","jwtDecoded","decodeJwtWithoutSignature","header","encodedJws","encodedHeader","encodedPayload","length","split","decoded","parse","decodedPayload","decode","jwt"],"sourceRoot":"../../../src","sources":["jwt/sign.ts"],"mappings":"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"}
1
+ {"version":3,"names":["JOSENotSupported","JWSInvalid","JWTInvalid","ProduceJWT","decodeBase64","encodeBase64","removePadding","getKtyFromAlg","isAlgSupported","derToJose","SignJWT","setProtectedHeader","protectedHeader","alg","_protectedHeader","toSign","JSON","stringify","payload","_payload","appendSignature","jwtWithoutSignature","signature","jwtDecoded","decodeJwtWithoutSignature","header","kty","encodedJws","encodedHeader","encodedPayload","length","split","decoded","parse","decodedPayload","decode","jwt"],"sourceRoot":"../../../src","sources":["jwt/sign.ts"],"mappings":"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"}
@@ -22,7 +22,7 @@ export const derToJose = async (asn1Signature, alg) => {
22
22
  const kty = getKtyFromAlg(alg);
23
23
  if (kty === 'EC') {
24
24
  const unpackedJws = await IoReactNativeJwt.unpackBerEncodedASN1(asn1Signature, getCoordinateOctetLength(alg));
25
- const encodedJws = removePadding(unpackedJws);
25
+ const encodedJws = removePadding(unpackedJws).replace(/(?:\r\n|\r|\n)/g, '');
26
26
  return encodedJws;
27
27
  } else {
28
28
  throw new JOSENotSupported('Unsupported "alg" value');
@@ -1 +1 @@
1
- {"version":3,"names":["getCoordinateOctetLength","getKtyFromAlg","IoReactNativeJwt","removePadding","JOSENotSupported","derToJose","asn1Signature","alg","kty","unpackedJws","unpackBerEncodedASN1","encodedJws"],"sourceRoot":"../../../src","sources":["utils/asn1.ts"],"mappings":"AAAA,SAASA,wBAAwB,EAAEC,aAAa,QAAQ,eAAe;AACvE,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,SAASC,aAAa,QAAQ,UAAU;AACxC,SAASC,gBAAgB,QAAQ,UAAU;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG,MAAAA,CACvBC,aAAqB,EACrBC,GAAW,KACS;EACpB,MAAMC,GAAG,GAAGP,aAAa,CAACM,GAAG,CAAC;EAC9B,IAAIC,GAAG,KAAK,IAAI,EAAE;IAChB,MAAMC,WAAW,GAAG,MAAMP,gBAAgB,CAACQ,oBAAoB,CAC7DJ,aAAa,EACbN,wBAAwB,CAACO,GAAG,CAC9B,CAAC;IACD,MAAMI,UAAU,GAAGR,aAAa,CAACM,WAAW,CAAC;IAC7C,OAAOE,UAAU;EACnB,CAAC,MAAM;IACL,MAAM,IAAIP,gBAAgB,CAAC,yBAAyB,CAAC;EACvD;AACF,CAAC"}
1
+ {"version":3,"names":["getCoordinateOctetLength","getKtyFromAlg","IoReactNativeJwt","removePadding","JOSENotSupported","derToJose","asn1Signature","alg","kty","unpackedJws","unpackBerEncodedASN1","encodedJws","replace"],"sourceRoot":"../../../src","sources":["utils/asn1.ts"],"mappings":"AAAA,SAASA,wBAAwB,EAAEC,aAAa,QAAQ,eAAe;AACvE,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,SAASC,aAAa,QAAQ,UAAU;AACxC,SAASC,gBAAgB,QAAQ,UAAU;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG,MAAAA,CACvBC,aAAqB,EACrBC,GAAW,KACS;EACpB,MAAMC,GAAG,GAAGP,aAAa,CAACM,GAAG,CAAC;EAC9B,IAAIC,GAAG,KAAK,IAAI,EAAE;IAChB,MAAMC,WAAW,GAAG,MAAMP,gBAAgB,CAACQ,oBAAoB,CAC7DJ,aAAa,EACbN,wBAAwB,CAACO,GAAG,CAC9B,CAAC;IACD,MAAMI,UAAU,GAAGR,aAAa,CAACM,WAAW,CAAC,CAACG,OAAO,CACnD,iBAAiB,EACjB,EACF,CAAC;IACD,OAAOD,UAAU;EACnB,CAAC,MAAM;IACL,MAAM,IAAIP,gBAAgB,CAAC,yBAAyB,CAAC;EACvD;AACF,CAAC"}
@@ -6,6 +6,6 @@ export { SignJWT } from './jwt/sign';
6
6
  export { UnsecuredJWT } from './jwt/unsecured';
7
7
  export type { UnsecuredResult } from './jwt/unsecured';
8
8
  export { derToJose } from './utils/asn1';
9
- export { encodeBase64, decodeBase64 } from './utils/base64';
9
+ export { encodeBase64, decodeBase64, removePadding, addPadding, } from './utils/base64';
10
10
  export { sha256ToBase64 } from './hash';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/jwt/sign.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,OAAO,CAAC,gBAAgB,CAA8B;IAEtD;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,0BAA0B;IAQ9D;;;OAGG;IACH,MAAM,IAAI,MAAM;IAehB;;;;;;;OAOG;WACU,eAAe,CAC1B,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAoBlB;;;;OAIG;IACH,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG;QAC7D,OAAO,EAAE,UAAU,CAAC;QACpB,MAAM,EAAE,0BAA0B,CAAC;KACpC;IAkCD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;CAkC5C"}
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../src/jwt/sign.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,OAAO,CAAC,gBAAgB,CAA8B;IAEtD;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,0BAA0B;IAQ9D;;;OAGG;IACH,MAAM,IAAI,MAAM;IAehB;;;;;;;OAOG;WACU,eAAe,CAC1B,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAsBlB;;;;OAIG;IACH,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG;QAC7D,OAAO,EAAE,UAAU,CAAC;QACpB,MAAM,EAAE,0BAA0B,CAAC;KACpC;IAkCD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;CAkC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"asn1.d.ts","sourceRoot":"","sources":["../../../src/utils/asn1.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,SAAS,kBACL,MAAM,OAChB,MAAM,KACV,QAAQ,MAAM,CAYhB,CAAC"}
1
+ {"version":3,"file":"asn1.d.ts","sourceRoot":"","sources":["../../../src/utils/asn1.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,SAAS,kBACL,MAAM,OAChB,MAAM,KACV,QAAQ,MAAM,CAehB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/io-react-native-jwt",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "Native support for JWT",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.ts CHANGED
@@ -12,5 +12,10 @@ export { UnsecuredJWT } from './jwt/unsecured';
12
12
  export type { UnsecuredResult } from './jwt/unsecured';
13
13
 
14
14
  export { derToJose } from './utils/asn1';
15
- export { encodeBase64, decodeBase64 } from './utils/base64';
15
+ export {
16
+ encodeBase64,
17
+ decodeBase64,
18
+ removePadding,
19
+ addPadding,
20
+ } from './utils/base64';
16
21
  export { sha256ToBase64 } from './hash';
package/src/jwt/sign.ts CHANGED
@@ -6,7 +6,7 @@ import type {
6
6
  } from '../types';
7
7
  import { ProduceJWT } from './produce';
8
8
  import { decodeBase64, encodeBase64, removePadding } from '../utils/base64';
9
- import { isAlgSupported } from '../algorithms';
9
+ import { getKtyFromAlg, isAlgSupported } from '../algorithms';
10
10
 
11
11
  import { derToJose } from '../utils/asn1';
12
12
 
@@ -87,10 +87,12 @@ export class SignJWT extends ProduceJWT {
87
87
 
88
88
  const jwtDecoded = SignJWT.decodeJwtWithoutSignature(jwtWithoutSignature);
89
89
  const alg = jwtDecoded.header.alg;
90
- try {
90
+ const kty = getKtyFromAlg(alg);
91
+
92
+ if (kty === 'EC') {
91
93
  const encodedJws = await derToJose(signature, alg);
92
94
  return `${jwtWithoutSignature}.${encodedJws}`;
93
- } catch {
95
+ } else {
94
96
  const encodedJws = removePadding(signature);
95
97
  return `${jwtWithoutSignature}.${encodedJws}`;
96
98
  }
package/src/utils/asn1.ts CHANGED
@@ -28,7 +28,10 @@ export const derToJose = async (
28
28
  asn1Signature,
29
29
  getCoordinateOctetLength(alg)
30
30
  );
31
- const encodedJws = removePadding(unpackedJws);
31
+ const encodedJws = removePadding(unpackedJws).replace(
32
+ /(?:\r\n|\r|\n)/g,
33
+ ''
34
+ );
32
35
  return encodedJws;
33
36
  } else {
34
37
  throw new JOSENotSupported('Unsupported "alg" value');