AndiDog / flutter_grpc_selfsigned

Self-signed CA certificate with Flutter iOS (workaround solution)
5 stars 0 forks source link

Error: Type '$grpc.ClientInterceptor' not found #1

Open makorne opened 3 years ago

makorne commented 3 years ago

Hi! Thank you for the example, but looks like something has changed?

lib/generated/example.pbgrpc.dart:24:22: Error: Type '$grpc.ClientInterceptor' not found.
      $core.Iterable<$grpc.ClientInterceptor>? interceptors})           
                     ^^^^^^^^^^^^^^^^^^^^^^^                            
lib/generated/example.pbgrpc.dart:24:28: Error: 'ClientInterceptor' isn't a type.
      $core.Iterable<$grpc.ClientInterceptor>? interceptors})           
                           ^^^^^^^^^^^^^^^^^                            
lib/generated/example.pbgrpc.dart:25:42: Error: No named parameter with the name 'interceptors'.
      : super(channel, options: options, interceptors: interceptors);   
                                         ^^^^^^^^^^^^                   
lib/generated/example.pbgrpc.dart:29:12: Error: The method '$createUnaryCall' isn't defined for the class 'ExampleServiceClient'.
 - 'ExampleServiceClient' is from 'package:grpc_selfsigned_test/generated/example.pbgrpc.dart' ('lib/generated/example.pbgrpc.dart').
Try correcting the name to the name of an existing method, or defining a method named '$createUnaryCall'.
    return $createUnaryCall(_$helloWorld, request, options: options);   
           ^^^^^^^^^^^^^^^^                                             

FAILURE: Build failed with an exception.    
AndiDog commented 3 years ago

This is not a maintained project. Feel free to send a PR to fix this, in case you find a solution. If I stumble over this issue again, I might update the source code, but at the moment time doesn't allow it.

AndiDog commented 2 years ago

Please try now. I'm using the latest packages, and have added instructions how this example project works. Still running fine for me.

makorne commented 2 years ago

Thank you for your update!! Now it builds and run.

But I have no idea why : Unsupported operation: SecurityContext constructor as the result

./server.sh

Using default temp DH parameters
ACCEPT

curl --cacert assets/pki/ca/ca.crt 'https://localhost:13100/'

<HTML><BODY BGCOLOR="#ffffff">
<pre>

s_server -key assets/pki/localhost.key -cert /tmp/chain.crt -accept 13100 -www 
Secure Renegotiation IS supported
Ciphers supported in s_server binary
TLSv1.3    :TLS_AES_256_GCM_SHA384    TLSv1.3    :TLS_CHACHA20_POLY1305_SHA256 
TLSv1.3    :TLS_AES_128_GCM_SHA256    TLSv1.3    :TLS_AES_128_CCM_SHA256    
TLSv1.2    :ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2    :ECDHE-RSA-AES256-GCM-SHA384 
TLSv1.2    :ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2    :ECDHE-RSA-CHACHA20-POLY1305 
TLSv1.2    :ECDHE-ECDSA-AES256-CCM    TLSv1.2    :ECDHE-ECDSA-AES128-GCM-SHA256 
TLSv1.2    :ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2    :ECDHE-ECDSA-AES128-CCM    
TLSv1.2    :ECDHE-ECDSA-AES128-SHA256 TLSv1.2    :ECDHE-RSA-AES128-SHA256   
TLSv1.0    :ECDHE-ECDSA-AES256-SHA    TLSv1.0    :ECDHE-RSA-AES256-SHA      
TLSv1.0    :ECDHE-ECDSA-AES128-SHA    TLSv1.0    :ECDHE-RSA-AES128-SHA      
TLSv1.2    :AES256-GCM-SHA384         TLSv1.2    :AES256-CCM                
TLSv1.2    :AES128-GCM-SHA256         TLSv1.2    :AES128-CCM                
TLSv1.2    :AES256-SHA256             TLSv1.2    :AES128-SHA256             
SSLv3      :AES256-SHA                SSLv3      :AES128-SHA                
TLSv1.2    :DHE-RSA-AES256-GCM-SHA384 TLSv1.2    :DHE-RSA-CHACHA20-POLY1305 
TLSv1.2    :DHE-RSA-AES256-CCM        TLSv1.2    :DHE-RSA-AES128-GCM-SHA256 
TLSv1.2    :DHE-RSA-AES128-CCM        TLSv1.2    :DHE-RSA-AES256-SHA256     
TLSv1.2    :DHE-RSA-AES128-SHA256     SSLv3      :DHE-RSA-AES256-SHA        
SSLv3      :DHE-RSA-AES128-SHA        TLSv1.2    :PSK-AES256-GCM-SHA384     
TLSv1.2    :PSK-CHACHA20-POLY1305     TLSv1.2    :PSK-AES256-CCM            
TLSv1.2    :PSK-AES128-GCM-SHA256     TLSv1.2    :PSK-AES128-CCM            
SSLv3      :PSK-AES256-CBC-SHA        TLSv1.0    :PSK-AES128-CBC-SHA256     
SSLv3      :PSK-AES128-CBC-SHA        TLSv1.2    :DHE-PSK-AES256-GCM-SHA384 
TLSv1.2    :DHE-PSK-CHACHA20-POLY1305 TLSv1.2    :DHE-PSK-AES256-CCM        
TLSv1.2    :DHE-PSK-AES128-GCM-SHA256 TLSv1.2    :DHE-PSK-AES128-CCM        
SSLv3      :DHE-PSK-AES256-CBC-SHA    TLSv1.0    :DHE-PSK-AES128-CBC-SHA256 
SSLv3      :DHE-PSK-AES128-CBC-SHA    TLSv1.2    :ECDHE-PSK-CHACHA20-POLY1305 
TLSv1.0    :ECDHE-PSK-AES256-CBC-SHA  TLSv1.0    :ECDHE-PSK-AES128-CBC-SHA256 
TLSv1.0    :ECDHE-PSK-AES128-CBC-SHA  TLSv1.2    :RSA-PSK-AES256-GCM-SHA384 
TLSv1.2    :RSA-PSK-CHACHA20-POLY1305 TLSv1.2    :RSA-PSK-AES128-GCM-SHA256 
SSLv3      :RSA-PSK-AES256-CBC-SHA    TLSv1.0    :RSA-PSK-AES128-CBC-SHA256 
SSLv3      :RSA-PSK-AES128-CBC-SHA    
---
Ciphers common between both SSL end points:
TLS_AES_256_GCM_SHA384     TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256    
TLS_AES_128_CCM_SHA256     ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES256-CCM    
ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-CCM    
ECDHE-ECDSA-AES128-SHA256  ECDHE-RSA-AES128-SHA256    ECDHE-ECDSA-AES256-SHA    
ECDHE-RSA-AES256-SHA       ECDHE-ECDSA-AES128-SHA     ECDHE-RSA-AES128-SHA      
AES256-GCM-SHA384          AES256-CCM                 AES128-GCM-SHA256         
AES128-CCM                 AES256-SHA256              AES128-SHA256             
AES256-SHA                 AES128-SHA                 DHE-RSA-AES256-GCM-SHA384 
DHE-RSA-CHACHA20-POLY1305  DHE-RSA-AES256-CCM         DHE-RSA-AES128-GCM-SHA256 
DHE-RSA-AES128-CCM         DHE-RSA-AES256-SHA256      DHE-RSA-AES128-SHA256     
DHE-RSA-AES256-SHA         DHE-RSA-AES128-SHA
Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224
Shared Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224
Supported Elliptic Groups: X25519:P-256:X448:P-521:P-384
Shared Elliptic groups: X25519:P-256:X448:P-521:P-384
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 57EE2F99D9E601A113CB0A7CE746938E8E25C51DCCD0F9AE28B6EC50F8DBF002
    Session-ID-ctx: 01000000
    Resumption PSK: 21732D238E221188D7C340F82A744D92342021A1D9E01EAF8FEE2189C5C8EACC23B5FAED03F988B1E6CA72E087D76C77
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1636182770
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
   0 items in the session cache
   0 client connects (SSL_connect())
   0 client renegotiates (SSL_connect())
   0 client connects that finished
   1 server accepts (SSL_accept())
   0 server renegotiates (SSL_accept())
   1 server accepts that finished
   0 session cache hits
   0 session cache misses
   0 session cache timeouts
   0 callback cache hits
   0 cache full overflows (128 allowed)
---
no client certificate available
</pre></BODY></HTML>

flutter run

aunching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...
This app is linked to the debug service: ws://127.0.0.1:39669/6rHC4nqJJNk=/ws
Debug service listening on ws://127.0.0.1:39669/6rHC4nqJJNk=/ws

💪 Running with sound null safety 💪
Debug service listening on ws://127.0.0.1:39669/6rHC4nqJJNk=/ws
Error: gRPC Error (code: 14, codeName: UNAVAILABLE, message: Error connecting: Unsupported operation: SecurityContext constructor, details: null, rawResponse: null, trailers: {})

    at Object.createErrorWithStack (http://localhost:38457/dart_sdk.js:5074:12)
    at Object._rethrow (http://localhost:38457/dart_sdk.js:38925:16)
    at async._AsyncCallbackEntry.new.callback (http://localhost:38457/dart_sdk.js:38921:13)
    at Object._microtaskLoop (http://localhost:38457/dart_sdk.js:38778:13)
    at _startMicrotaskLoop (http://localhost:38457/dart_sdk.js:38784:13)
    at http://localhost:38457/dart_sdk.js:34519:9