Class KeyDecryptionOracleRSAController

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

@RestController @RequestMapping("/rsa") @ConditionalOnProperty(prefix="api.rsa", name="enabled", havingValue="true") public class KeyDecryptionOracleRSAController extends Object
ReST Controller that exposes some functionality of the oracle. This controller is disabled by default and intended only for development and demonstrations. Production oracle functionality should route via the on-chain proxy contract. Decryption remains unavailable through this controller even when it is enabled.
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