1212
1313use c2pa:: { Signer , SigningAlg } ;
1414use c2pa_crypto:: {
15- raw_signature:: { RawSigner , RawSignerError } ,
16- time_stamp:: TimeStampProvider ,
15+ raw_signature:: { RawSigner , RawSignerError } ,
16+ time_stamp:: TimeStampProvider ,
1717} ;
1818use log:: debug;
1919
@@ -38,13 +38,16 @@ pub struct RemoteSigner {
3838 reserve_size : u32 ,
3939}
4040
41+ pub struct RawRemoteSigner {
42+ signer_callback : Box < dyn SignerCallback > ,
43+ alg : SigningAlg ,
44+ reserve_size : u32 ,
45+ }
46+
4147impl TimeStampProvider for RemoteSigner { }
4248
4349impl c2pa_crypto:: raw_signature:: RawSigner for RemoteSigner {
44- fn sign (
45- & self ,
46- data : & [ u8 ] ,
47- ) -> std:: result:: Result < Vec < u8 > , RawSignerError > {
50+ fn sign ( & self , data : & [ u8 ] ) -> std:: result:: Result < Vec < u8 > , RawSignerError > {
4851 let signature_result = self . signer_callback . sign ( data. to_vec ( ) ) ;
4952
5053 match signature_result {
@@ -64,12 +67,11 @@ impl c2pa_crypto::raw_signature::RawSigner for RemoteSigner {
6467 SigningAlg :: Ps384 => c2pa_crypto:: raw_signature:: SigningAlg :: Ps384 ,
6568 SigningAlg :: Ps512 => c2pa_crypto:: raw_signature:: SigningAlg :: Ps512 ,
6669 SigningAlg :: Ed25519 => c2pa_crypto:: raw_signature:: SigningAlg :: Ed25519 ,
70+ _ => c2pa_crypto:: raw_signature:: SigningAlg :: Es256 ,
6771 }
6872 }
6973
70- fn cert_chain (
71- & self ,
72- ) -> std:: result:: Result < Vec < Vec < u8 > > , RawSignerError > {
74+ fn cert_chain ( & self ) -> std:: result:: Result < Vec < Vec < u8 > > , RawSignerError > {
7375 Ok ( Vec :: new ( ) )
7476 }
7577
@@ -102,8 +104,8 @@ impl Signer for RemoteSigner {
102104 true
103105 }
104106
105- fn raw_signer ( & self ) -> Box < & dyn RawSigner > {
106- todo ! ( )
107+ fn raw_signer ( & self ) -> Box < & dyn c2pa_crypto :: raw_signature :: RawSigner > {
108+ Box :: new ( self )
107109 }
108110}
109111
0 commit comments