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 Summary
ConstructorsConstructorDescriptionKeyDecryptionOracleRSAController(DecryptionOracle decryptionOracle) Constructor for OracleRSAController. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<?>decrypt.org.springframework.http.ResponseEntity<?>generateEncryptedHashedKey(net.finmath.decryptionoracle.keys.controller.KeyDecryptionOracleRSAController.GenerationRequest request) generateEncryptedHashedKey.org.springframework.http.ResponseEntity<?>generateKey(String contract, byte[] transaction) generateKey.org.springframework.http.ResponseEntity<?>verifyKey(byte[] encryptedKey) verifyKey.
-
Constructor Details
-
KeyDecryptionOracleRSAController
Constructor for OracleRSAController.
- Parameters:
decryptionOracle- aDecryptionOracleobject
-
-
Method Details
-
generateKey
@PostMapping("/generate-key") public org.springframework.http.ResponseEntity<?> generateKey(@RequestParam String contract, @RequestParam byte[] transaction) generateKey.
- Parameters:
contract- aStringobjecttransaction- an array of byte objects- Returns:
- a
ResponseEntityobject
-
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- aKeyDecryptionOracleRSAController.GenerationRequestobject- Returns:
- a
ResponseEntityobject
-
verifyKey
@PostMapping("/verify") public org.springframework.http.ResponseEntity<?> verifyKey(@RequestParam byte[] encryptedKey) verifyKey.
- Parameters:
encryptedKey- an array of byte objects- Returns:
- a
ResponseEntityobject
-
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 objectscontract- aStringobjecttransaction- an array of byte objects- Returns:
- a
ResponseEntityobject
-