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
  1. Dragonpay creates a canonical string: txnid:refno:status:message:merchantid:param1:param2:amount.
  2. Dragonpay encrypts this hash with its private key $\rightarrow$ signatures param.
  3. 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"
    }
]