@@ -519,7 +519,7 @@ mod tests {
519519 use std:: collections:: HashSet ;
520520 use std:: convert:: TryFrom ;
521521
522- fn setup_test_state ( ) -> AppState {
522+ async fn setup_test_state ( ) -> AppState {
523523 let mut csprng = OsRng ;
524524 let ed25519_key = ed25519_dalek:: SigningKey :: generate ( & mut csprng) ;
525525 let secp256k1_key = SigningKey :: random ( & mut csprng) ;
@@ -537,8 +537,6 @@ mod tests {
537537 vm_config : String :: new ( ) ,
538538 } ;
539539
540- let dummy_cert_client = unsafe { std:: mem:: zeroed ( ) } ;
541-
542540 let dummy_simulator = Simulator {
543541 enabled : false ,
544542 quote_file : String :: new ( ) ,
@@ -586,16 +584,73 @@ mod tests {
586584 data_disks : HashSet :: new ( ) ,
587585 } ;
588586
587+ const DUMMY_PEM_KEY : & str = r#"-----BEGIN PRIVATE KEY-----
588+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCSeV81CKVqILf/
589+ bk+OarAkZeph4ggb1d9Qt4bzJjVNsowpc/iWbacO6dHvrjXrqNdK7WEHDuxYlQCS
590+ xppINUCKyCoelAt2OJuUonLHtT3s41pGM0k69fcUb420fhKqNAHIaCCc38vOFDZ7
591+ aqLUGNDooc7bXgZxHUJHmq9QneeB74Ia+6TzA2KKXMu4ixvZWvrgRt64XKyL3+4J
592+ sQ6QqSgopGeyTv0blxFxF6X8UTUO/nZPnqf7BN9GnkJtHglb0TLI1H7BYvFmnpjT
593+ 8yfjmdbRxvnczvRJuKCzTq9ePEvhRrwAzqQk3Ide0/KWdIiu2nrrfO/Imvia1DNp
594+ GgJsV0L7AgMBAAECggEARUbTcV1kAwRzkgOF7CloouZzCxWhWSz4AJC06oadOmDi
595+ qu53WgqFs2eCjBZ82TdTkFQiiniT7zeV/FWjfdh17M3MIgdKPoF6kDufBvahUcuc
596+ FEzIa3MPB+LVBlOEl2yelT8ugZPVrGPh+tBOL/uGvyhckmNvr4szoHM4TOxKJSk/
597+ njFbJcoX3UmampyxSa6MMSGaxM2pdziTujoj5+sJ/a0x/wwIih/XEZSWgLzDjGZS
598+ qaKmldjD0SRJQrZ1LTjjguKtkbOwKa2dtNOoHBkAtHyI+vWOLXNzZisXMazpmHNT
599+ mE2X6oQFcAXI7HHuHzkLaLpEdqlHA16nwFPNF0LzAQKBgQDLaE1eZnutK+nxHpUq
600+ cb3vMGN8dPxCrQJz/fvEb6lP93RCWBZbGen2gLGvFKyFwPcD/OR0HfBnFRjHIy25
601+ V4ta+iubQM3GFO2FOp9SwequCPY2H6YXah4LyXrCIw4Pv3x/I2bpbLOlltmMT5PS
602+ qPV86dH546kxOsJS6VhMCcQXAQKBgQC4WJu9VTBPfKf8JL8f7b/K0+MBN3OBkhsN
603+ V6nCR8JizAa1hxmxpMaeq7PqlGpJhQKinBblR314Cpqqrt7AL005gCxD0ddBM9Ib
604+ /7HafmLrAuhEDxnYx/QAyprTOsqjLS8Vd+eaA0nGF68R1LLHLxfXfhiuAjMwScCs
605+ afCrbdG1+wKBgAyZ3ZEnkCneOpPxbRRAD6AtwzwGk0oeJbTB20MEF90YW19wzZG/
606+ PTtEJb3O7hErLyJUHGMFJ8t7BxnvF/oPblaogOMRVK4cxconI4+g68T0USxxMXzp
607+ 2gqo5K36NfjLyA6oRsvXLBnqCngixembBfpDEfsFG4otNbSlOA8d28QBAoGBAKdG
608+ YCtxPaEi8BtwDK2gQsR9eCMGeh08wqdcwIG2M8EKeZwGt13mswQPsfZOLhQASd/b
609+ 2zq5oDRpCueOPjoNsflXQNNZegWETEdzwaMNxByUSsZXHZED/3koX00EsBNZULwe
610+ TV4HVc4Wd5mqc38iUHQNy78559ENW3QXvXcQ85Y5AoGBAIQlSbNRupo/5ATwJW0e
611+ bggPyacIhS9GrsgP9qz9p8xxNSfcyAFRGiXnlGoiRbNchbUiZPRjoJ08lOHGxVQw
612+ O17ivI85heZnG+i5Yz0ZolMd8fbc4h78oA9FnJQJV5AeTDqTxf528A2jyWCAmu11
613+ Sv2zO+vcYHN7bT2UTCEWkeAw
614+ -----END PRIVATE KEY-----
615+ "# ;
616+
617+ const DUMMY_PEM_CERT : & str = r#"-----BEGIN CERTIFICATE-----
618+ MIIDCTCCAfGgAwIBAgIUYRX7SNHsL6EGSy0ACQzjX4cfaw0wDQYJKoZIhvcNAQEL
619+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI1MTAwOTEyNDMyN1oXDTI2MTAw
620+ OTEyNDMyN1owFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
621+ AAOCAQ8AMIIBCgKCAQEAknlfNQilaiC3/25PjmqwJGXqYeIIG9XfULeG8yY1TbKM
622+ KXP4lm2nDunR764166jXSu1hBw7sWJUAksaaSDVAisgqHpQLdjiblKJyx7U97ONa
623+ RjNJOvX3FG+NtH4SqjQByGggnN/LzhQ2e2qi1BjQ6KHO214GcR1CR5qvUJ3nge+C
624+ Gvuk8wNiilzLuIsb2Vr64EbeuFysi9/uCbEOkKkoKKRnsk79G5cRcRel/FE1Dv52
625+ T56n+wTfRp5CbR4JW9EyyNR+wWLxZp6Y0/Mn45nW0cb53M70Sbigs06vXjxL4Ua8
626+ AM6kJNyHXtPylnSIrtp663zvyJr4mtQzaRoCbFdC+wIDAQABo1MwUTAdBgNVHQ4E
627+ FgQUsnBjoCWFH3il0MvjO9p0o/vcACgwHwYDVR0jBBgwFoAUsnBjoCWFH3il0Mvj
628+ O9p0o/vcACgwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAj9rI
629+ cHDTj9LhD2Nca/Mj2dNwUa1Fq81I5EF3GWi6mosTT4hfQupUC1i/6UE6ubLHRUGr
630+ J3JnHBG8hUCddx5VxLncDmYP/4LHVEue/XdCURgY+K2WxQnUPDzZV2mXJXUzp8si
631+ 6xzFyiPyf4qsQaoRQnpOmyUXvBwtdf3M28EA/pTBBDZ4pZJ1QaSTlT7fpDgK2e6L
632+ arBh7HebdS9UBaWLtYBMsRWRK5qpOQnLiy8H6J93/W6i4X3DSxeZXeYiMSO/jsJ8
633+ 5XxL9zqOVjsw9Bxr79zCe7JF6fp6r3miUndMHQch/WXOY07lxH00cEqYo+2/Vk5D
634+ pNs85uhOZE8z2jr8Pg==
635+ -----END CERTIFICATE-----
636+ "# ;
637+
589638 let dummy_keys = AppKeys {
590639 disk_crypt_key : Vec :: new ( ) ,
591640 env_crypt_key : Vec :: new ( ) ,
592641 k256_key : Vec :: new ( ) ,
593642 k256_signature : Vec :: new ( ) ,
594643 gateway_app_id : String :: new ( ) ,
595- ca_cert : String :: new ( ) ,
596- key_provider : KeyProvider :: None { key : String :: new ( ) } ,
644+ ca_cert : DUMMY_PEM_CERT . to_string ( ) ,
645+ key_provider : KeyProvider :: None {
646+ key : DUMMY_PEM_KEY . to_string ( ) ,
647+ } ,
597648 } ;
598649
650+ let dummy_cert_client = CertRequestClient :: create ( & dummy_keys, None , String :: new ( ) )
651+ . await
652+ . expect ( "Failed to create CertRequestClient" ) ;
653+
599654 let inner = AppStateInner {
600655 config : dummy_config,
601656 keys : dummy_keys,
@@ -615,7 +670,7 @@ mod tests {
615670
616671 #[ tokio:: test]
617672 async fn test_sign_ed25519_success ( ) {
618- let state = setup_test_state ( ) ;
673+ let state = setup_test_state ( ) . await ;
619674 let handler = InternalRpcHandler {
620675 state : state. clone ( ) ,
621676 } ;
@@ -638,7 +693,7 @@ mod tests {
638693
639694 #[ tokio:: test]
640695 async fn test_sign_secp256k1_success ( ) {
641- let state = setup_test_state ( ) ;
696+ let state = setup_test_state ( ) . await ;
642697 let handler = InternalRpcHandler {
643698 state : state. clone ( ) ,
644699 } ;
@@ -657,7 +712,7 @@ mod tests {
657712
658713 #[ tokio:: test]
659714 async fn test_sign_unsupported_algorithm_fails ( ) {
660- let state = setup_test_state ( ) ;
715+ let state = setup_test_state ( ) . await ;
661716 let handler = InternalRpcHandler { state } ;
662717 let request = SignRequest {
663718 algorithm : "rsa" . to_string ( ) , // Unsupported algorithm
@@ -671,7 +726,7 @@ mod tests {
671726
672727 #[ tokio:: test]
673728 async fn test_get_attestation_ed25519_success ( ) {
674- let state = setup_test_state ( ) ;
729+ let state = setup_test_state ( ) . await ;
675730 let handler = ExternalRpcHandler :: new ( state. clone ( ) ) ;
676731 let request = GetAttestationRequest {
677732 algorithm : "ed25519" . to_string ( ) ,
@@ -684,7 +739,7 @@ mod tests {
684739
685740 #[ tokio:: test]
686741 async fn test_get_attestation_secp256k1_success ( ) {
687- let state = setup_test_state ( ) ;
742+ let state = setup_test_state ( ) . await ;
688743 let handler = ExternalRpcHandler :: new ( state. clone ( ) ) ;
689744 let request = GetAttestationRequest {
690745 algorithm : "secp256k1" . to_string ( ) ,
@@ -697,7 +752,7 @@ mod tests {
697752
698753 #[ tokio:: test]
699754 async fn test_get_attestation_unsupported_algorithm_fails ( ) {
700- let state = setup_test_state ( ) ;
755+ let state = setup_test_state ( ) . await ;
701756 let handler = ExternalRpcHandler :: new ( state) ;
702757 let request = GetAttestationRequest {
703758 algorithm : "ecdsa" . to_string ( ) , // Unsupported algorithm
0 commit comments