Fetch & Refresh
Retrieve active RSA public keys from Dragonpay Callback API (/api/collect/v1/keys/callback) and cache them locally in standard PEM format.
How RSA-SHA256 Works
- Dragonpay creates a canonical string:
txnid:refno:status:message:merchantid:param1:param2:amount. - Dragonpay encrypts this hash with its private key $\rightarrow$
signaturesparam. - Our webhook decrypts the signature using these cached PEM public keys using OpenSSL.
Cached Public Keys Cache
File:
dragonpay_keys_uat.json
[
{
"Value": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuOVYYLdUMtV9TwSR9boR\nhSdTMo1P3Dp1WK/OR9xS35lixDUzSuyX7viqX8FY+OrXynnmZ5ZIB8mmyORwpbi6\n9v3yS7VnduXJs9g+XQGUgKfuXI/rS1N4I7SUNLRPO5vvGXS5KGz4S0qvwqclRnZ0\nv4qQxD4S0WiipZKzWYHIVA3SuqjYOAB8MNfC3PDvIlzjSRyLSZSa9ZZb9kDgSrIa\n0MO1wRoPrvxdSLe31Os4Ye6Rtsl/7XaZBnEODpnxXM/OQlLuktIXA46twT2rYiV8\nkXpb2clCQfk8lSt0X2Wq2pHtEr6KJNugf91HPb8huB8guSOeSc5bBIkPObCUGLop\nAQIDAQAB\n-----END PUBLIC KEY-----",
"Status": "Active"
}
]
File:
dragonpay_keys_prod.json
[
{
"Value": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApaAonEqvQD6Gb1I2qfE+\ndAVTvqe91ovuJaqM+GvEZDkoVPxvOstKZZV46CGaaa/12BldRphlTB0ZgJH6fQ55\n4Zr0Rb1B+yEansNICSG2AXBVbpIc+Nfk2DSAQ2eB1BoiMQ7meouyxf1KsOsPRTRf\ngfxlX723OBeXoEQFIolgcCJadY/UbQMrTvfDpp/pol7BS2CA9AJy1ed/Jc6hZVSu\nNyo6hAv/n/HJ+dh3+76Au/L7hE2e128DGQwde6xF/dQJqoX13jrpB6U1DY/W6uXO\nFOq2g4iohLdSEzyiYyDTwE7eKyWpkhrw8stMwiRYhKUdLadJrRcIdxSIZpxyKf8/\npQIDAQAB\n-----END PUBLIC KEY-----",
"Status": "Active"
}
]