feat: add new ipc call

This commit is contained in:
2024-05-06 15:55:12 +02:00
parent 26a09b5ec2
commit bbdecfc8cb

View File

@@ -52,13 +52,25 @@ pub fn x25519_keygen<'a>() -> (X25519PrivKey<'a>, X25519PubKey<'a>) {
(sk, pk) (sk, pk)
} }
pub fn x22519_pubkey<'a>(sk: &X25519PrivKey) -> X25519PubKey<'a> {
let pk = X25519PubKey(SharedPtr::<32>::new().unwrap());
let mut agent = AGENT.lock().unwrap();
unsafe {
agent.perform_ipc_call(1, &[sk.0.get_offset(), pk.0.get_offset()]);
}
pk
}
pub fn x25519<'a>(sk: &X25519PrivKey, pk: &X25519PubKey) -> X25519SharedKey<'a> { pub fn x25519<'a>(sk: &X25519PrivKey, pk: &X25519PubKey) -> X25519SharedKey<'a> {
let out = X25519SharedKey(SharedPtr::<32>::new().unwrap()); let out = X25519SharedKey(SharedPtr::<32>::new().unwrap());
let mut agent = AGENT.lock().unwrap(); let mut agent = AGENT.lock().unwrap();
unsafe { unsafe {
agent.perform_ipc_call(1, &[out.0.get_offset(), sk.0.get_offset(), pk.0.get_offset()]); agent.perform_ipc_call(2, &[out.0.get_offset(), sk.0.get_offset(), pk.0.get_offset()]);
} }
out out