samlesa 3.3.8 → 3.4.1
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.
- package/build/src/binding-artifact.js +2 -2
- package/build/src/binding-post.js +13 -24
- package/build/src/entity.js +2 -2
- package/build/src/libsaml.js +55 -63
- package/build/src/metadata-sp.js +21 -6
- package/build/src/metadata.js +4 -3
- package/build/src/urn.js +4 -2
- package/build/src/utility.js +14 -7
- package/package.json +2 -5
- package/types/src/binding-post.d.ts.map +1 -1
- package/types/src/libsaml.d.ts +8 -8
- package/types/src/libsaml.d.ts.map +1 -1
- package/types/src/metadata-sp.d.ts.map +1 -1
- package/types/src/metadata.d.ts.map +1 -1
- package/types/src/types.d.ts +1 -1
- package/types/src/types.d.ts.map +1 -1
- package/types/src/urn.d.ts +2 -0
- package/types/src/urn.d.ts.map +1 -1
- package/types/src/utility.d.ts.map +1 -1
|
@@ -9,7 +9,7 @@ import libsaml from './libsaml.js';
|
|
|
9
9
|
import libsamlSoap from './libsamlSoap.js';
|
|
10
10
|
import utility, { get } from './utility.js';
|
|
11
11
|
import { fileURLToPath } from "node:url";
|
|
12
|
-
import
|
|
12
|
+
import { randomUUID } from 'node:crypto';
|
|
13
13
|
import { artifactResolveFields, extract, loginRequestFields, loginResponseFields, logoutRequestFields, logoutResponseFields } from "./extractor.js";
|
|
14
14
|
import { verifyTime } from "./validator.js";
|
|
15
15
|
import { sendArtifactResolve } from "./soap.js";
|
|
@@ -328,7 +328,7 @@ async function parseLoginResponseResolve(params) {
|
|
|
328
328
|
let extractorFields = [];
|
|
329
329
|
let samlContent = '';
|
|
330
330
|
const spSetting = sp.entitySetting;
|
|
331
|
-
let ID = '_' +
|
|
331
|
+
let ID = '_' + randomUUID();
|
|
332
332
|
let url = metadata.idp.getArtifactResolutionService('soap');
|
|
333
333
|
let samlSoapRaw = libsaml.replaceTagsByValue(libsaml.defaultArtifactResolveTemplate.context, {
|
|
334
334
|
ID: ID,
|
|
@@ -106,7 +106,7 @@ async function base64LoginResponse({ requestInfo = {}, entity, user = {}, custom
|
|
|
106
106
|
const now = nowTime.toISOString();
|
|
107
107
|
const acl = metadata.sp.getAssertionConsumerService(binding.post);
|
|
108
108
|
// @ts-ignore
|
|
109
|
-
const sessionID = idpSetting?.generateID() ??
|
|
109
|
+
const sessionID = idpSetting?.generateID() ?? `_${randomUUID()}`;
|
|
110
110
|
const sessionIndex = 'session' + sessionID; // 这个是当前系统的会话索引,用于单点注销
|
|
111
111
|
const tenHoursLaterTime = new Date(nowTime.getTime());
|
|
112
112
|
tenHoursLaterTime.setHours(tenHoursLaterTime.getHours() + 10);
|
|
@@ -159,6 +159,7 @@ async function base64LoginResponse({ requestInfo = {}, entity, user = {}, custom
|
|
|
159
159
|
};
|
|
160
160
|
// step: sign assertion ? -> encrypted ? -> sign message ?
|
|
161
161
|
if (metadata.sp.isWantAssertionsSigned()) {
|
|
162
|
+
// console.debug('sp wants assertion signed');
|
|
162
163
|
// @ts-ignore
|
|
163
164
|
rawSamlResponse = libsaml.constructSAMLSignature({
|
|
164
165
|
...config,
|
|
@@ -167,10 +168,7 @@ async function base64LoginResponse({ requestInfo = {}, entity, user = {}, custom
|
|
|
167
168
|
referenceTagXPath: "/*[local-name(.)='Response']/*[local-name(.)='Assertion']",
|
|
168
169
|
signatureConfig: {
|
|
169
170
|
prefix: 'ds',
|
|
170
|
-
location: {
|
|
171
|
-
reference: "/*[local-name(.)='Response']/*[local-name(.)='Assertion']/*[local-name(.)='Issuer']",
|
|
172
|
-
action: 'after'
|
|
173
|
-
},
|
|
171
|
+
location: { reference: "/*[local-name(.)='Response']/*[local-name(.)='Assertion']/*[local-name(.)='Issuer']", action: 'after' },
|
|
174
172
|
},
|
|
175
173
|
});
|
|
176
174
|
}
|
|
@@ -190,19 +188,6 @@ async function base64LoginResponse({ requestInfo = {}, entity, user = {}, custom
|
|
|
190
188
|
},
|
|
191
189
|
});
|
|
192
190
|
}
|
|
193
|
-
/* if (spSetting.wantMessageSigned) {
|
|
194
|
-
// console.debug('sign then encrypt and sign entire message');
|
|
195
|
-
rawSamlResponse = libsaml.constructSAMLSignature({
|
|
196
|
-
...config,
|
|
197
|
-
rawSamlMessage: rawSamlResponse,
|
|
198
|
-
isMessageSigned: true,
|
|
199
|
-
transformationAlgorithms: spSetting.transformationAlgorithms,
|
|
200
|
-
signatureConfig: spSetting.signatureConfig || {
|
|
201
|
-
prefix: 'ds',
|
|
202
|
-
location: {reference: "/!*[local-name(.)='Response']/!*[local-name(.)='Issuer']", action: 'after'},
|
|
203
|
-
},
|
|
204
|
-
});
|
|
205
|
-
}*/
|
|
206
191
|
if (idpSetting.isAssertionEncrypted) {
|
|
207
192
|
// console.debug('idp is configured to do encryption');
|
|
208
193
|
const context = await libsaml.encryptAssertion(entity.idp, entity.sp, rawSamlResponse);
|
|
@@ -215,18 +200,22 @@ async function base64LoginResponse({ requestInfo = {}, entity, user = {}, custom
|
|
|
215
200
|
}
|
|
216
201
|
}
|
|
217
202
|
//sign after encrypting
|
|
218
|
-
/*
|
|
219
|
-
|
|
203
|
+
/* console.log(encryptThenSign)
|
|
204
|
+
console.log(encryptThenSign && (spSetting.wantMessageSigned || !metadata.sp.isWantAssertionsSigned()))
|
|
205
|
+
console.log("结果====================")*/
|
|
206
|
+
if (encryptThenSign && (spSetting.wantMessageSigned || !metadata.sp.isWantAssertionsSigned())) {
|
|
207
|
+
rawSamlResponse = libsaml.constructSAMLSignature({
|
|
220
208
|
...config,
|
|
221
209
|
rawSamlMessage: rawSamlResponse,
|
|
222
210
|
isMessageSigned: true,
|
|
223
211
|
transformationAlgorithms: spSetting.transformationAlgorithms,
|
|
212
|
+
// @ts-ignore
|
|
224
213
|
signatureConfig: spSetting.signatureConfig || {
|
|
225
|
-
|
|
226
|
-
|
|
214
|
+
prefix: 'ds',
|
|
215
|
+
location: { reference: "/*[local-name(.)='Response']/*[local-name(.)='Issuer']", action: 'after' },
|
|
227
216
|
},
|
|
228
|
-
|
|
229
|
-
|
|
217
|
+
});
|
|
218
|
+
}
|
|
230
219
|
return Promise.resolve({
|
|
231
220
|
id,
|
|
232
221
|
context: utility.base64Encode(rawSamlResponse),
|
package/build/src/entity.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { isString, isNonEmptyArray } from './utility.js';
|
|
7
7
|
import { namespace, wording, algorithms, messageConfigurations } from './urn.js';
|
|
8
|
-
import
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
9
|
import IdpMetadata from './metadata-idp.js';
|
|
10
10
|
import SpMetadata from './metadata-sp.js';
|
|
11
11
|
import redirectBinding from './binding-redirect.js';
|
|
@@ -24,7 +24,7 @@ const defaultEntitySetting = {
|
|
|
24
24
|
requestSignatureAlgorithm: signatureAlgorithms.RSA_SHA512,
|
|
25
25
|
dataEncryptionAlgorithm: dataEncryptionAlgorithm.AES_256_GCM,
|
|
26
26
|
keyEncryptionAlgorithm: keyEncryptionAlgorithm.RSA_OAEP_MGF1P,
|
|
27
|
-
generateID: () => ('_' +
|
|
27
|
+
generateID: () => ('_' + randomUUID()),
|
|
28
28
|
relayState: '',
|
|
29
29
|
};
|
|
30
30
|
export default class Entity {
|
package/build/src/libsaml.js
CHANGED
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
import { X509Certificate } from 'node:crypto';
|
|
7
7
|
import xml from 'xml';
|
|
8
8
|
import utility, { flattenDeep, inflateString, isString } from './utility.js';
|
|
9
|
+
;
|
|
10
|
+
import * as crypto from 'node:crypto';
|
|
9
11
|
import { algorithms, namespace, wording } from './urn.js';
|
|
10
12
|
import xpath, { select } from 'xpath';
|
|
11
|
-
import nrsa from 'node-rsa';
|
|
12
13
|
import { SignedXml } from 'xml-crypto-next';
|
|
13
14
|
import * as xmlenc from 'xml-encryption-next';
|
|
14
15
|
import camelCase from 'camelcase';
|
|
@@ -40,22 +41,6 @@ const libSaml = () => {
|
|
|
40
41
|
}
|
|
41
42
|
throw new Error('ERR_UNDEFINED_QUERY_PARAMS');
|
|
42
43
|
}
|
|
43
|
-
/**
|
|
44
|
-
*
|
|
45
|
-
*/
|
|
46
|
-
// 签名算法映射表
|
|
47
|
-
const nrsaAliasMapping = {
|
|
48
|
-
'http://www.w3.org/2000/09/xmldsig#rsa-sha1': 'pkcs1-sha1',
|
|
49
|
-
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256': 'pkcs1-sha256',
|
|
50
|
-
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384': 'pkcs1-sha384',
|
|
51
|
-
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha512': 'pkcs1-sha512',
|
|
52
|
-
};
|
|
53
|
-
const nrsaAliasMappingForNode = {
|
|
54
|
-
'http://www.w3.org/2000/09/xmldsig#rsa-sha1': 'RSA-SHA1',
|
|
55
|
-
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256': 'RSA-SHA256',
|
|
56
|
-
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384': 'RSA-SHA384',
|
|
57
|
-
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha512': 'RSA-SHA512',
|
|
58
|
-
};
|
|
59
44
|
/**
|
|
60
45
|
* 检测是否使用了不安全的SHA1系列签名算法
|
|
61
46
|
* @param signatureAlgorithm 签名算法URI
|
|
@@ -168,14 +153,20 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
168
153
|
* @param {string} sigAlg signature algorithm
|
|
169
154
|
* @return {string/null} signing algorithm short-hand for the module node-rsa
|
|
170
155
|
*/
|
|
171
|
-
|
|
156
|
+
const cryptoAlgorithmMapping = {
|
|
157
|
+
'http://www.w3.org/2000/09/xmldsig#rsa-sha1': 'sha1',
|
|
158
|
+
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256': 'sha256',
|
|
159
|
+
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384': 'sha384',
|
|
160
|
+
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha512': 'sha512',
|
|
161
|
+
};
|
|
162
|
+
function getSigningAlgorithm(sigAlg) {
|
|
172
163
|
if (sigAlg) {
|
|
173
|
-
const algAlias =
|
|
174
|
-
if (
|
|
164
|
+
const algAlias = cryptoAlgorithmMapping[sigAlg];
|
|
165
|
+
if (algAlias !== undefined) {
|
|
175
166
|
return algAlias;
|
|
176
167
|
}
|
|
177
168
|
}
|
|
178
|
-
return
|
|
169
|
+
return cryptoAlgorithmMapping[signatureAlgorithms.RSA_SHA1];
|
|
179
170
|
}
|
|
180
171
|
function validateAndInflateSamlResponse(urlEncodedResponse) {
|
|
181
172
|
// 3. 尝试DEFLATE解压(SAML规范要求使用原始DEFLATE)
|
|
@@ -199,15 +190,6 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
199
190
|
}
|
|
200
191
|
return { compressed, xml, error: null };
|
|
201
192
|
}
|
|
202
|
-
function getSigningSchemeForNode(sigAlg) {
|
|
203
|
-
if (sigAlg) {
|
|
204
|
-
const algAlias = nrsaAliasMappingForNode[sigAlg];
|
|
205
|
-
if (!(algAlias === undefined)) {
|
|
206
|
-
return algAlias;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return nrsaAliasMappingForNode[signatureAlgorithms.RSA_SHA256];
|
|
210
|
-
}
|
|
211
193
|
/**
|
|
212
194
|
* @private
|
|
213
195
|
* @desc Get the signing scheme alias by signature algorithms, used by the node-rsa module
|
|
@@ -920,29 +902,26 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
920
902
|
* @returns 消息签名
|
|
921
903
|
*/
|
|
922
904
|
constructMessageSignature(octetString, key, passphrase, isBase64, signingAlgorithm) {
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
905
|
+
try {
|
|
906
|
+
console.log(signingAlgorithm);
|
|
907
|
+
const algorithm = getSigningAlgorithm(signingAlgorithm ?? signatureAlgorithms.RSA_SHA256);
|
|
908
|
+
console.log(algorithm);
|
|
909
|
+
console.log("签名算法");
|
|
910
|
+
const privateKeyPem = utility.readPrivateKey(key, passphrase); // 假设utility对象存在
|
|
911
|
+
const signer = crypto.createSign(algorithm);
|
|
912
|
+
signer.update(octetString, 'utf8');
|
|
913
|
+
const signature = signer.sign({
|
|
914
|
+
key: privateKeyPem,
|
|
915
|
+
passphrase: passphrase || undefined
|
|
916
|
+
});
|
|
917
|
+
// Use private key to sign data
|
|
918
|
+
return isBase64 !== false ? signature.toString('base64') : signature;
|
|
919
|
+
}
|
|
920
|
+
catch (error) {
|
|
921
|
+
console.error('Signature creation failed:', error);
|
|
922
|
+
throw error;
|
|
923
|
+
}
|
|
931
924
|
},
|
|
932
|
-
/* verifyMessageSignature(
|
|
933
|
-
metadata,
|
|
934
|
-
octetString: string,
|
|
935
|
-
signature: string | Buffer,
|
|
936
|
-
verifyAlgorithm?: string
|
|
937
|
-
) {
|
|
938
|
-
const signCert = metadata.getX509Certificate(certUse.signing);
|
|
939
|
-
const signingScheme = getSigningSchemeForNode(verifyAlgorithm);
|
|
940
|
-
const verifier = createVerify(signingScheme);
|
|
941
|
-
verifier.update(octetString);
|
|
942
|
-
const isValid = verifier.verify(utility.getPublicKeyPemFromCertificate(signCert), Buffer.isBuffer(signature) ? signature : Buffer.from(signature, 'base64'));
|
|
943
|
-
return isValid
|
|
944
|
-
|
|
945
|
-
},*/
|
|
946
925
|
/**
|
|
947
926
|
* @desc Verifies message signature
|
|
948
927
|
* @param {Metadata} metadata metadata object of identity provider or service provider
|
|
@@ -951,17 +930,27 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
951
930
|
* @param {string} verifyAlgorithm algorithm used to verify
|
|
952
931
|
* @return {boolean} verification result
|
|
953
932
|
*/
|
|
954
|
-
verifyMessageSignature(metadata,
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
933
|
+
verifyMessageSignature(metadata, // 假设metadata对象有getX509Certificate方法
|
|
934
|
+
octetString, signature, verifyAlgorithm) {
|
|
935
|
+
try {
|
|
936
|
+
const signCert = metadata.getX509Certificate('signing'); // 假设certUse.signing是'signing'
|
|
937
|
+
const algorithm = getSigningAlgorithm(verifyAlgorithm);
|
|
938
|
+
const publicKeyPem = utility.getPublicKeyPemFromCertificate(signCert); // 假设utility对象存在
|
|
939
|
+
const verifier = crypto.createVerify(algorithm);
|
|
940
|
+
verifier.update(octetString, 'utf8');
|
|
941
|
+
const signatureBuffer = typeof signature === 'string' ? Buffer.from(signature, 'base64') : signature;
|
|
942
|
+
return verifier.verify(publicKeyPem, signatureBuffer);
|
|
943
|
+
}
|
|
944
|
+
catch (error) {
|
|
945
|
+
console.error('Signature verification failed:', error);
|
|
946
|
+
return false;
|
|
947
|
+
}
|
|
959
948
|
},
|
|
960
949
|
/**
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
950
|
+
* @desc Get the public key in string format
|
|
951
|
+
* @param {string} x509Certificate certificate
|
|
952
|
+
* @return {string} public key
|
|
953
|
+
*/
|
|
965
954
|
getKeyInfo(x509Certificate, signatureConfig = {}) {
|
|
966
955
|
const prefix = signatureConfig.prefix ? `${signatureConfig.prefix}:` : '';
|
|
967
956
|
return {
|
|
@@ -989,6 +978,8 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
989
978
|
}
|
|
990
979
|
const sourceEntitySetting = sourceEntity.entitySetting;
|
|
991
980
|
const targetEntityMetadata = targetEntity.entityMeta;
|
|
981
|
+
console.log(targetEntityMetadata);
|
|
982
|
+
console.log("看一下是什么=====");
|
|
992
983
|
const { dom } = getContext();
|
|
993
984
|
const doc = dom.parseFromString(xml, 'application/xml');
|
|
994
985
|
// @ts-expect-error misssing Node properties are not needed
|
|
@@ -1002,11 +993,12 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
1002
993
|
const rawAssertionNode = assertions[0];
|
|
1003
994
|
// Perform encryption depends on the setting, default is false
|
|
1004
995
|
if (sourceEntitySetting.isAssertionEncrypted) {
|
|
1005
|
-
|
|
996
|
+
let encryptPem = targetEntityMetadata.getX509Certificate(certUse.encrypt);
|
|
997
|
+
const publicKeyPem = utility.getPublicKeyPemFromCertificate(encryptPem);
|
|
1006
998
|
xmlenc.encrypt(rawAssertionNode.toString(), {
|
|
1007
999
|
// use xml-encryption module
|
|
1008
1000
|
rsa_pub: Buffer.from(publicKeyPem), // public key from certificate
|
|
1009
|
-
pem: Buffer.from(`-----BEGIN CERTIFICATE-----${
|
|
1001
|
+
pem: Buffer.from(`-----BEGIN CERTIFICATE-----${encryptPem}-----END CERTIFICATE-----`),
|
|
1010
1002
|
encryptionAlgorithm: sourceEntitySetting.dataEncryptionAlgorithm,
|
|
1011
1003
|
keyEncryptionAlgorithm: sourceEntitySetting.keyEncryptionAlgorithm,
|
|
1012
1004
|
keyEncryptionDigest: sourceEntitySetting.keyEncryptionDigest ?? 'sha1', //default sha256
|
package/build/src/metadata-sp.js
CHANGED
|
@@ -59,9 +59,13 @@ export class SpMetadata extends Metadata {
|
|
|
59
59
|
Binding: a.Binding,
|
|
60
60
|
Location: a.Location,
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
// 只有当值明确为 true 或 "true" 时,才写入属性
|
|
63
|
+
if (a.isDefault === true || a.isDefault === "true") {
|
|
63
64
|
attr.isDefault = true;
|
|
64
65
|
}
|
|
66
|
+
if (a.isDefault === false || a.isDefault === "false") {
|
|
67
|
+
attr.isDefault = false;
|
|
68
|
+
}
|
|
65
69
|
descriptors.ArtifactResolutionService.push([{ _attr: attr }]);
|
|
66
70
|
});
|
|
67
71
|
}
|
|
@@ -71,9 +75,13 @@ export class SpMetadata extends Metadata {
|
|
|
71
75
|
Binding: a.Binding,
|
|
72
76
|
Location: a.Location,
|
|
73
77
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
// 只有当值明确为 true 或 "true" 时,才写入属性
|
|
79
|
+
if (a.isDefault === true || a.isDefault === "true") {
|
|
80
|
+
attr.isDefault = true;
|
|
81
|
+
}
|
|
82
|
+
if (a.isDefault === false || a.isDefault === "false") {
|
|
83
|
+
attr.isDefault = false;
|
|
84
|
+
}
|
|
77
85
|
descriptors.SingleLogoutService.push([{ _attr: attr }]);
|
|
78
86
|
});
|
|
79
87
|
}
|
|
@@ -92,9 +100,13 @@ export class SpMetadata extends Metadata {
|
|
|
92
100
|
Binding: a.Binding,
|
|
93
101
|
Location: a.Location,
|
|
94
102
|
};
|
|
95
|
-
|
|
103
|
+
// 只有当值明确为 true 或 "true" 时,才写入属性
|
|
104
|
+
if (a.isDefault === true || a.isDefault === "true") {
|
|
96
105
|
attr.isDefault = true;
|
|
97
106
|
}
|
|
107
|
+
if (a.isDefault === false || a.isDefault === "false") {
|
|
108
|
+
attr.isDefault = false;
|
|
109
|
+
}
|
|
98
110
|
descriptors.AssertionConsumerService.push([{ _attr: attr }]);
|
|
99
111
|
});
|
|
100
112
|
}
|
|
@@ -251,7 +263,10 @@ export class SpMetadata extends Metadata {
|
|
|
251
263
|
}
|
|
252
264
|
else {
|
|
253
265
|
// 数据源本身为空,直接报错
|
|
254
|
-
|
|
266
|
+
console.log(acsData);
|
|
267
|
+
console.log("看下这是什么啊啊啊啊");
|
|
268
|
+
return "";
|
|
269
|
+
/* throw new Error("SAML Metadata Error: No AssertionConsumerService definitions found in metadata.");*/
|
|
255
270
|
}
|
|
256
271
|
if (allCandidates.length === 0) {
|
|
257
272
|
return "";
|
package/build/src/metadata.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as fs from 'fs';
|
|
7
7
|
import { namespace } from './urn.js';
|
|
8
|
-
import {
|
|
8
|
+
import { extractSpToll } from './extractor.js';
|
|
9
9
|
import { isString } from './utility.js';
|
|
10
10
|
export default class Metadata {
|
|
11
11
|
/**
|
|
@@ -14,7 +14,8 @@ export default class Metadata {
|
|
|
14
14
|
*/
|
|
15
15
|
constructor(xml, extraParse = []) {
|
|
16
16
|
this.xmlString = xml.toString();
|
|
17
|
-
this.
|
|
17
|
+
this.xmlString = xml.toString();
|
|
18
|
+
this.meta = extractSpToll(this.xmlString, extraParse.concat([
|
|
18
19
|
{
|
|
19
20
|
key: 'entityDescriptor',
|
|
20
21
|
localPath: ['EntityDescriptor'],
|
|
@@ -53,7 +54,7 @@ export default class Metadata {
|
|
|
53
54
|
]));
|
|
54
55
|
// get shared certificate
|
|
55
56
|
const sharedCertificate = this.meta.sharedCertificate;
|
|
56
|
-
if (typeof sharedCertificate === 'string') {
|
|
57
|
+
if (typeof sharedCertificate === 'string' && Object.keys(this.meta.certificate).length === 0) {
|
|
57
58
|
this.meta.certificate = {
|
|
58
59
|
signing: sharedCertificate,
|
|
59
60
|
encryption: sharedCertificate
|
package/build/src/urn.js
CHANGED
|
@@ -186,7 +186,8 @@ const algorithms = {
|
|
|
186
186
|
// XML Signature 1.1 PSS 填充 (更安全)
|
|
187
187
|
RSA_PSS_SHA256: 'http://www.w3.org/2007/05/xmldsig-more#rsa-pss-sha256',
|
|
188
188
|
// EdDSA (Ed25519)
|
|
189
|
-
EDDSA_ED25519: 'http://www.w3.org/2007/05/xmldsig-more#eddsa-ed25519'
|
|
189
|
+
EDDSA_ED25519: 'http://www.w3.org/2007/05/xmldsig-more#eddsa-ed25519',
|
|
190
|
+
EDDSA_ED488: 'http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448'
|
|
190
191
|
},
|
|
191
192
|
// 2. 摘要算法定义 (DigestMethod)
|
|
192
193
|
// 注意:这里直接使用标准推荐的 URI,SHA-2xx 系列推荐使用 xmlenc 命名空间
|
|
@@ -214,7 +215,8 @@ const algorithms = {
|
|
|
214
215
|
'http://www.w3.org/2007/05/xmldsig-more#ecdsa-sha512': 'http://www.w3.org/2001/04/xmlenc#sha512',
|
|
215
216
|
'http://www.w3.org/2007/05/xmldsig-more#rsa-pss-sha256': 'http://www.w3.org/2001/04/xmlenc#sha256',
|
|
216
217
|
// EdDSA 比较特殊,它内部硬编码了 SHA-512,但在 XML 结构中如果需要显式声明 DigestMethod,通常指向 SHA-512
|
|
217
|
-
'http://www.w3.org/2007/05/xmldsig-more#eddsa-ed25519': 'http://www.w3.org/2001/04/xmlenc#sha512'
|
|
218
|
+
'http://www.w3.org/2007/05/xmldsig-more#eddsa-ed25519': 'http://www.w3.org/2001/04/xmlenc#sha512',
|
|
219
|
+
'http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448': 'http://www.w3.org/2001/04/xmldsig-more#shake256'
|
|
218
220
|
},
|
|
219
221
|
encryption: {
|
|
220
222
|
data: {
|
package/build/src/utility.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @desc Library for some common functions (e.g. de/inflation, en/decoding)
|
|
5
5
|
*/
|
|
6
6
|
import { createPrivateKey, X509Certificate } from 'node:crypto';
|
|
7
|
-
import {
|
|
7
|
+
import { deflateRawSync, inflateRawSync } from 'node:zlib';
|
|
8
8
|
const BASE64_STR = 'base64';
|
|
9
9
|
/**
|
|
10
10
|
* @desc Mimic lodash.zipObject
|
|
@@ -99,7 +99,8 @@ export function base64Decode(base64Message, isBytes) {
|
|
|
99
99
|
function deflateString(message) {
|
|
100
100
|
const encoder = new TextEncoder();
|
|
101
101
|
const uint8Array = encoder.encode(message);
|
|
102
|
-
|
|
102
|
+
const compressedBuffer = deflateRawSync(uint8Array);
|
|
103
|
+
return Array.from(compressedBuffer);
|
|
103
104
|
}
|
|
104
105
|
/**
|
|
105
106
|
* @desc Decompress the compressed string
|
|
@@ -108,14 +109,17 @@ function deflateString(message) {
|
|
|
108
109
|
*/
|
|
109
110
|
export function inflateString(compressedString) {
|
|
110
111
|
const base64Encoded = decodeURIComponent(compressedString);
|
|
111
|
-
//
|
|
112
|
-
const
|
|
113
|
-
const data = Uint8Array.from(binaryStr, (c) => c.charCodeAt(0));
|
|
112
|
+
// Base64解码为Buffer
|
|
113
|
+
const buffer = Buffer.from(base64Encoded, 'base64');
|
|
114
114
|
try {
|
|
115
|
-
|
|
115
|
+
const decompressedBuffer = inflateRawSync(buffer);
|
|
116
|
+
return decompressedBuffer.toString('utf8');
|
|
116
117
|
}
|
|
117
118
|
catch (e) {
|
|
118
|
-
|
|
119
|
+
if (e instanceof Error) {
|
|
120
|
+
return e.message;
|
|
121
|
+
}
|
|
122
|
+
return 'Decompression error';
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
125
|
/**
|
|
@@ -265,12 +269,15 @@ export function readPrivateKey(keyString, passphrase, isOutputString = true) {
|
|
|
265
269
|
// 根据密钥类型选择导出格式
|
|
266
270
|
const keyType = keyObject.asymmetricKeyType;
|
|
267
271
|
let exportType;
|
|
272
|
+
console.log(keyType);
|
|
273
|
+
console.log("看下类型啊哈哈哈哈");
|
|
268
274
|
switch (keyType) {
|
|
269
275
|
case 'rsa':
|
|
270
276
|
exportType = 'pkcs1'; // RSA 传统格式
|
|
271
277
|
break;
|
|
272
278
|
case 'ec':
|
|
273
279
|
case 'ed25519':
|
|
280
|
+
case 'ed448':
|
|
274
281
|
exportType = 'pkcs8'; // ECC/Ed25519 标准格式
|
|
275
282
|
break;
|
|
276
283
|
default:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "samlesa",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.1",
|
|
4
4
|
"description": "High-level API for Single Sign On (SAML 2.0) baseed on samlify ",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -48,14 +48,11 @@
|
|
|
48
48
|
"camelcase": "^9.0.0",
|
|
49
49
|
"cross-env": "^10.1.0",
|
|
50
50
|
"iconv-lite": "^0.7.2",
|
|
51
|
-
"node-rsa": "^1.1.1",
|
|
52
|
-
"pako": "^2.1.0",
|
|
53
51
|
"ts-node": "^10.9.2",
|
|
54
|
-
"uuid": "^13.0.0",
|
|
55
52
|
"vite-tsconfig-paths": "^6.1.1",
|
|
56
53
|
"xml": "^1.0.1",
|
|
57
54
|
"xml-crypto": "^6.1.2",
|
|
58
|
-
"xml-crypto-next": "^7.0.
|
|
55
|
+
"xml-crypto-next": "^7.0.4",
|
|
59
56
|
"xml-encryption-next": "^4.6.0",
|
|
60
57
|
"xml-escape": "^1.1.0",
|
|
61
58
|
"xml2js": "^0.6.2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-post.d.ts","sourceRoot":"","sources":["../../src/binding-post.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAQhD,OAAO,EAAC,yBAAyB,EAAC,MAAM,YAAY,CAAC;AAKrD;;;;;GAKG;AACH,iBAAS,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAiE/I;AAGD;;;;;;;;;GASG;AACH,iBAAe,mBAAmB,CAAC,EAAC,WAAgB,EAAE,MAAM,EAAE,IAAS,EAAE,oBAAoB,EAAE,eAAuB,EAAE,kBAAuB,EAAE,OAAO,EAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"binding-post.d.ts","sourceRoot":"","sources":["../../src/binding-post.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAQhD,OAAO,EAAC,yBAAyB,EAAC,MAAM,YAAY,CAAC;AAKrD;;;;;GAKG;AACH,iBAAS,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAiE/I;AAGD;;;;;;;;;GASG;AACH,iBAAe,mBAAmB,CAAC,EAAC,WAAgB,EAAE,MAAM,EAAE,IAAS,EAAE,oBAAoB,EAAE,eAAuB,EAAE,kBAAuB,EAAE,OAAO,EAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAuJ7M;AAED;;;;;;;GAOG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,KAAA,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CA2D1K;AAED;;;;;;GAMG;AACH,iBAAS,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CA6DvI;AAED,QAAA,MAAM,WAAW;;;;;CAKhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/types/src/libsaml.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as crypto from 'node:crypto';
|
|
1
2
|
import type { MetadataInterface } from './metadata.js';
|
|
2
3
|
/**
|
|
3
4
|
* 生成 SAML Attribute 元素(不带 XML 声明头)
|
|
@@ -77,7 +78,6 @@ export interface LibSamlInterface {
|
|
|
77
78
|
decryptAssertion: (here: any, entireXML: string) => Promise<[string, any]>;
|
|
78
79
|
getSigningScheme: (sigAlg: string) => string | null;
|
|
79
80
|
getDigestMethod: (sigAlg: string) => string | null;
|
|
80
|
-
nrsaAliasMapping: any;
|
|
81
81
|
defaultLoginRequestTemplate: LoginRequestTemplate;
|
|
82
82
|
defaultLoginResponseTemplate: LoginResponseTemplate;
|
|
83
83
|
defaultAttributeStatementTemplate: AttributeStatementTemplate;
|
|
@@ -183,7 +183,7 @@ declare const _default: {
|
|
|
183
183
|
isValid: boolean;
|
|
184
184
|
subject: string;
|
|
185
185
|
issuer: string;
|
|
186
|
-
publicKey:
|
|
186
|
+
publicKey: crypto.KeyObject;
|
|
187
187
|
error?: undefined;
|
|
188
188
|
} | {
|
|
189
189
|
isValid: boolean;
|
|
@@ -230,7 +230,7 @@ declare const _default: {
|
|
|
230
230
|
* @param signingAlgorithm - 签名算法 (默认 'rsa-sha256')
|
|
231
231
|
* @returns 消息签名
|
|
232
232
|
*/
|
|
233
|
-
constructMessageSignature(octetString: string, key: string, passphrase?: string, isBase64?: boolean, signingAlgorithm?: string):
|
|
233
|
+
constructMessageSignature(octetString: string, key: string, passphrase?: string, isBase64?: boolean, signingAlgorithm?: string): string | Buffer;
|
|
234
234
|
/**
|
|
235
235
|
* @desc Verifies message signature
|
|
236
236
|
* @param {Metadata} metadata metadata object of identity provider or service provider
|
|
@@ -239,12 +239,12 @@ declare const _default: {
|
|
|
239
239
|
* @param {string} verifyAlgorithm algorithm used to verify
|
|
240
240
|
* @return {boolean} verification result
|
|
241
241
|
*/
|
|
242
|
-
verifyMessageSignature(metadata: any, octetString: string, signature: string | Buffer, verifyAlgorithm?: string):
|
|
242
|
+
verifyMessageSignature(metadata: any, octetString: string, signature: string | Buffer, verifyAlgorithm?: string): boolean;
|
|
243
243
|
/**
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
244
|
+
* @desc Get the public key in string format
|
|
245
|
+
* @param {string} x509Certificate certificate
|
|
246
|
+
* @return {string} public key
|
|
247
|
+
*/
|
|
248
248
|
getKeyInfo(x509Certificate: string, signatureConfig?: any): {
|
|
249
249
|
getKeyInfo: () => string;
|
|
250
250
|
getKey: () => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-sp.d.ts","sourceRoot":"","sources":["../../src/metadata-sp.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AACF,OAAO,QAAQ,EAAE,EAAC,KAAK,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAE7D;AAeD,MAAM,CAAC,OAAO,WAAU,IAAI,EAAE,qBAAqB,cAElD;AAED;;EAEE;AACF,qBAAa,UAAW,SAAQ,QAAQ;IAEtC;;;MAGE;gBACU,IAAI,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"metadata-sp.d.ts","sourceRoot":"","sources":["../../src/metadata-sp.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AACF,OAAO,QAAQ,EAAE,EAAC,KAAK,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAE7D;AAeD,MAAM,CAAC,OAAO,WAAU,IAAI,EAAE,qBAAqB,cAElD;AAED;;EAEE;AACF,qBAAa,UAAW,SAAQ,QAAQ;IAEtC;;;MAGE;gBACU,IAAI,EAAE,qBAAqB;IA6NvC;;;MAGE;IACK,sBAAsB,IAAI,OAAO;IAGxC;;;MAGE;IACK,oBAAoB,IAAI,OAAO;IAGtC;;;;MAIE;IACK,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA0L5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5D,eAAe,EAAE,MAAM,GAAG,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,MAAM,CAAC;IACzE,4BAA4B,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,MAAM,CAAC;IAC/E,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACtD;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,iBAAiB;IAExD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IAEV;;;OAGG;gBACS,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,GAAE,GAAQ;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5D,eAAe,EAAE,MAAM,GAAG,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,MAAM,CAAC;IACzE,4BAA4B,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,MAAM,CAAC;IAC/E,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACtD;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,iBAAiB;IAExD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IAEV;;;OAGG;gBACS,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,GAAE,GAAQ;IA8DtD;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;OAGG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI/C;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;;OAIG;IACI,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAIrC;;;OAGG;IACI,eAAe,IAAI,GAAG;IAI7B;;;;OAIG;IACI,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM;IAe3E;;;;OAIG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM;IAejF;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAUxD"}
|
package/types/src/types.d.ts
CHANGED
package/types/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAQ,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,IAAI,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,WAAW,IAAI,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,eAAe,IAAI,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3C,MAAM,WAAY,yBAAyB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE;QACJ,GAAG,EAAE,gBAAgB,CAAC;QACtB,EAAE,EAAE,eAAe,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AACD,KAAK,UAAU,GAAG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/types/src/urn.d.ts
CHANGED
|
@@ -167,6 +167,7 @@ declare const algorithms: {
|
|
|
167
167
|
RSA_SHA512: string;
|
|
168
168
|
RSA_PSS_SHA256: string;
|
|
169
169
|
EDDSA_ED25519: string;
|
|
170
|
+
EDDSA_ED488: string;
|
|
170
171
|
};
|
|
171
172
|
digest: {
|
|
172
173
|
SHA1: string;
|
|
@@ -190,6 +191,7 @@ declare const algorithms: {
|
|
|
190
191
|
'http://www.w3.org/2007/05/xmldsig-more#ecdsa-sha512': string;
|
|
191
192
|
'http://www.w3.org/2007/05/xmldsig-more#rsa-pss-sha256': string;
|
|
192
193
|
'http://www.w3.org/2007/05/xmldsig-more#eddsa-ed25519': string;
|
|
194
|
+
'http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448': string;
|
|
193
195
|
};
|
|
194
196
|
encryption: {
|
|
195
197
|
data: {
|
package/types/src/urn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urn.d.ts","sourceRoot":"","sources":["../../src/urn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,gBAAgB;IAC1B,QAAQ,uDAAuD;IAC/D,IAAI,mDAAmD;IACvD,UAAU,8DAA8D;IACxE,QAAQ,uDAAuD;CAChE;AAED,oBAAY,qBAAqB;IAC/B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;CAC1B;AAED,oBAAY,UAAU;IAEpB,OAAO,+CAA+C;IACtD,SAAS,iDAAiD;IAC1D,SAAS,iDAAiD;IAC1D,eAAe,uDAAuD;IAEtE,UAAU,mDAAmD;IAC7D,sBAAsB,8DAA8D;IACpF,mBAAmB,2DAA2D;IAC9E,cAAc,sDAAsD;IACpE,cAAc,sDAAsD;IACpE,SAAS,iDAAiD;IAC1D,cAAc,sDAAsD;IACpE,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,wBAAwB,gEAAgE;IACxF,qBAAqB,6DAA6D;IAClF,oBAAoB,4DAA4D;IAChF,qBAAqB,6DAA6D;IAClF,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;IAC5E,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;CAC7E;AAED,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Fd,CAAC;AAEF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;CAK1B,CAAC;AAEF,QAAA,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"urn.d.ts","sourceRoot":"","sources":["../../src/urn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,gBAAgB;IAC1B,QAAQ,uDAAuD;IAC/D,IAAI,mDAAmD;IACvD,UAAU,8DAA8D;IACxE,QAAQ,uDAAuD;CAChE;AAED,oBAAY,qBAAqB;IAC/B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;CAC1B;AAED,oBAAY,UAAU;IAEpB,OAAO,+CAA+C;IACtD,SAAS,iDAAiD;IAC1D,SAAS,iDAAiD;IAC1D,eAAe,uDAAuD;IAEtE,UAAU,mDAAmD;IAC7D,sBAAsB,8DAA8D;IACpF,mBAAmB,2DAA2D;IAC9E,cAAc,sDAAsD;IACpE,cAAc,sDAAsD;IACpE,SAAS,iDAAiD;IAC1D,cAAc,sDAAsD;IACpE,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,wBAAwB,gEAAgE;IACxF,qBAAqB,6DAA6D;IAClF,oBAAoB,4DAA4D;IAChF,qBAAqB,6DAA6D;IAClF,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;IAC5E,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;CAC7E;AAED,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Fd,CAAC;AAEF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;CAK1B,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmFZ;;;WAGG;;;;;;;;;;;;;CAwBN,CAAC;AAaF,oBAAY,UAAU;IACpB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AAIF,QAAA,MAAM,aAAa;;;;CAIlB,CAAC;AAEF,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/utility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/utility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,cAAc,UAAO,MAmB3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAIvC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAEhC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAGnC;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,YAAY,KAAA,OAG1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,mBAElC;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,UAE/C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAGtF;AAED;;;;GAIG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAc9D;AAYD;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,UAEtD;AAED;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,UAErD;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,GAAG,KAAA,UAEtB;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAC,GAAG,KAAA,EAAE,YAAY,SAAK,OAE1C;AAED;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,OAE/B;AAED;;;;GAIG;AACH,iBAAS,8BAA8B,CAAC,qBAAqB,EAAE,MAAM,UAWpE;AAuED,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,GAAE,OAAc,GAC/B,MAAM,GAAG,MAAM,CA2CjB;AACD;;GAEG;AACH,iBAAS,eAAe,CAAC,KAAK,KAAA,EAAE,cAAc,KAAA,OAE7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,WAErC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAGhD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAElF;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;CAeZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|