2014-09-16 3 views
1

создать БД с CertUtilDart, использование SSL, излучаемый орган

myproject/bin/pkcert 
echo "dartdart" > pwdfile 
certutil -N -d 'sql:./' -f pwdfile 

Затем я импортировать мой сертификат подтвержден авторитетом

certutil -d "sql:./" -A -t "C,C,C" -n "my_cert" -i certificate.crt 

я проверить, если он работает

certutil -L -d 'sql:./' 
Certificate Nickname           Trust Attributes 
                  SSL,S/MIME,JAR/XPI 

my_cert              C,C,C 

My main.dart

library main; 

import "dart:io"; 

void main() { 
    var testPkcertDatabase = Platform.script.resolve('./pkcert') 
            .toFilePath(); 
    SecureSocket.initialize(database: testPkcertDatabase, 
          password: 'dartdart'); 

    HttpServer 
     .bindSecure(InternetAddress.ANY_IP_V6, 
        8443, 
        certificateName: 'my_cert') 
     .then((server) { 
     server.listen((HttpRequest request) { 
      request.response.write('Hello, world!'); 
      request.response.close(); 
     }); 
     }); 
} 

я исполняю, и я получаю эту ошибку:

Uncaught Error: CertificateException: Cannot find server certificate by nickname: my_cert (OS Error: security library: read-only database., errno = -8126) 

я что-то пропустил, или я должен сообщить об ошибке?

спасибо.

ответ

0

Вы пытались добавить -s "cn=mycert" к

certutil -d "sql:./" -A -t "C,C,C" -n "my_cert" -i certificate.crt 

и использовать его с

HttpServer 
    .bindSecure(InternetAddress.ANY_IP_V6, 
       8443, 
       certificateName: 'CN=my_cert') 

, как показано в этом блоге http://jamesslocum.com/post/70003236123?

+0

Да, я не работал. – Druxtan

+1

Вы проверили http://stackoverflow.com/questions/24048258? –

+1

Да, это работает! спасибо – Druxtan