Class KeyDecryptionOracleRSAController

java.lang.Object
net.finmath.decryptionoracle.keys.controller.KeyDecryptionOracleRSAController

@RestController @RequestMapping("/rsa") public class KeyDecryptionOracleRSAController extends Object
ReST Controller that exposes some functionality of the oracle. IMPORTANT: IN PRODUCTION THIS ENDPOINT SHOULD BE DISABLED AND ALL ORACLE FUNCTIONALITY SHOULD ROUTE VIA THE ON-CHAIN PROXY CONTRACT. If needed, only generation and verification should be available. Decryption should require authentication.
Author:
Christian Fries
  • Constructor Details

    • KeyDecryptionOracleRSAController

      public KeyDecryptionOracleRSAController(DecryptionOracle decryptionOracle)

      Constructor for OracleRSAController.

      Parameters:
      decryptionOracle - a DecryptionOracle object
  • Method Details

    • generateKey

      @PostMapping("/generate-key") public org.springframework.http.ResponseEntity<?> generateKey(@RequestParam String contract, @RequestParam byte[] transaction)

      generateKey.

      Parameters:
      contract - a String object
      transaction - an array of byte objects
      Returns:
      a ResponseEntity object
    • generateEncryptedHashedKey

      @PostMapping(value="/generate-encrypted-hashed-key", consumes="application/json", produces="application/json") public org.springframework.http.ResponseEntity<?> generateEncryptedHashedKey(@RequestBody net.finmath.decryptionoracle.keys.controller.KeyDecryptionOracleRSAController.GenerationRequest request)

      generateEncryptedHashedKey.

      Parameters:
      request - a KeyDecryptionOracleRSAController.GenerationRequest object
      Returns:
      a ResponseEntity object
    • verifyKey

      @PostMapping("/verify") public org.springframework.http.ResponseEntity<?> verifyKey(@RequestParam byte[] encryptedKey)

      verifyKey.

      Parameters:
      encryptedKey - an array of byte objects
      Returns:
      a ResponseEntity object
    • decrypt

      @PostMapping("/decrypt") public org.springframework.http.ResponseEntity<?> decrypt(@RequestParam byte[] encryptedKey, @RequestParam String contract, @RequestParam byte[] transaction)

      decrypt.

      Parameters:
      encryptedKey - an array of byte objects
      contract - a String object
      transaction - an array of byte objects
      Returns:
      a ResponseEntity object