Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xmldsig #32

Closed
sibelius opened this issue Jan 31, 2025 · 4 comments
Closed

xmldsig #32

sibelius opened this issue Jan 31, 2025 · 4 comments

Comments

@sibelius
Copy link

Any plans to add xmldsig to sign messages?

Reference implementation https://github.com/Mastercard/xmlsignverify-core-java

@svapnil
Copy link
Owner

svapnil commented Feb 3, 2025

Hey @sibelius ,

Thanks for asking. If it's a natural part of the ISO20022 specification then in should be supported.

PIX, for example, would be a usecase where signing will be necessary.

As to how it will be provided - that is something that is worth a design discussion. Current implementation may look like this:

const pix = party.createPIXCreditPaymentInitiation(...)

pix.sign({keyInformation})

pix.serialize()

Would love to chat and work to build support here - lmk what you think

@sibelius
Copy link
Author

sibelius commented Feb 3, 2025

xml-crypto looks like the most complete solution in typescript

but it still lacks support to sign KeyInfo

node-saml/xml-crypto#464

@svapnil
Copy link
Owner

svapnil commented Feb 3, 2025

I'd love to chat and figure out how to correctly implement this together. My intuition is that we can do this by hand (Generate KeyInfo and add it to the XML) given we have the right information.

@svapnil
Copy link
Owner

svapnil commented Feb 3, 2025

Followed up with @sibelius offline about this.

TLDR: some banks require these ISO20022 messages to be signed. PIX is one standard that's very commonly signed.

@sibelius is currently moving PIX payments using the PACS standard - we do not support sending PACS directly yet, since the most standard implementation of ISO20022 is to use the PAIN (payment initiation) standard.

We should key signing for the first user that needs it in the package, where we will then work with the specification they have on hand - till then we can close this issue out and keep this as future work to do.

@svapnil svapnil closed this as completed Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants