@@ -323,45 +323,15 @@ impl DstackGuestRpc for InternalRpcHandler {
323323 async fn verify ( self , request : VerifyRequest ) -> Result < VerifyResponse > {
324324 let valid = match request. algorithm . as_str ( ) {
325325 "ed25519" => {
326- let public_key = if request. public_key . is_empty ( ) {
327- let key_response = self
328- . get_key ( GetKeyArgs {
329- path : "vms" . to_string ( ) ,
330- purpose : "signing" . to_string ( ) ,
331- algorithm : "ed25519" . to_string ( ) ,
332- } )
333- . await ?;
334- let key_bytes: [ u8 ; 32 ] =
335- key_response. key . try_into ( ) . expect ( "Key is incorrect" ) ;
336- Ed25519SigningKey :: from_bytes ( & key_bytes)
337- . verifying_key ( )
338- . to_bytes ( )
339- . to_vec ( )
340- } else {
341- request. public_key
342- } ;
343326 let verifying_key = ed25519_dalek:: VerifyingKey :: from_bytes (
344- & public_key. as_slice ( ) . try_into ( ) . unwrap ( ) ,
327+ & request . public_key . as_slice ( ) . try_into ( ) . unwrap ( ) ,
345328 ) ?;
346329 let signature = ed25519_dalek:: Signature :: from_slice ( & request. signature ) ?;
347330 verifying_key. verify ( & request. data , & signature) . is_ok ( )
348331 }
349332 "secp256k1" | "secp256k1_prehashed" => {
350- let public_key = if request. public_key . is_empty ( ) {
351- let key_response = self
352- . get_key ( GetKeyArgs {
353- path : "vms" . to_string ( ) ,
354- purpose : "signing" . to_string ( ) ,
355- algorithm : request. algorithm ,
356- } )
357- . await ?;
358- let signing_key = SigningKey :: from_slice ( & key_response. key )
359- . context ( "Failed to parse secp256k1 key" ) ?;
360- signing_key. verifying_key ( ) . to_sec1_bytes ( ) . to_vec ( )
361- } else {
362- request. public_key
363- } ;
364- let verifying_key = k256:: ecdsa:: VerifyingKey :: from_sec1_bytes ( & public_key) ?;
333+ let verifying_key =
334+ k256:: ecdsa:: VerifyingKey :: from_sec1_bytes ( & request. public_key ) ?;
365335 let signature = k256:: ecdsa:: Signature :: from_slice ( & request. signature ) ?;
366336 verifying_key. verify ( & request. data , & signature) . is_ok ( )
367337 }
@@ -828,7 +798,7 @@ pNs85uhOZE8z2jr8Pg==
828798 algorithm : "ed25519" . to_string ( ) ,
829799 data : data_to_sign. to_vec ( ) ,
830800 signature : sign_response. signature ,
831- public_key : vec ! [ ] ,
801+ public_key : sign_response . public_key ,
832802 } ;
833803 let handler = InternalRpcHandler {
834804 state : state. clone ( ) ,
@@ -855,7 +825,7 @@ pNs85uhOZE8z2jr8Pg==
855825 algorithm : "secp256k1" . to_string ( ) ,
856826 data : data_to_sign. to_vec ( ) ,
857827 signature : sign_response. signature ,
858- public_key : vec ! [ ] ,
828+ public_key : sign_response . public_key ,
859829 } ;
860830 let handler = InternalRpcHandler {
861831 state : state. clone ( ) ,
0 commit comments