@@ -478,42 +478,19 @@ const handshakeProtocol = {
478478 certificate : {
479479 name : "certificate" ,
480480 msgType : certificate ,
481- // matchName(re, name) {
482- // re = re.replace(/\./g, "\\.").replace(/\*/g, "[^.]*");
483- // var a = name.match(new RegExp("^" + re + "$", "i"));
484- // return a && a.length == 1;
485- // },
486- // verifyHost(session, cert) {
487- // //@@ this fails because session.socket.host doesn't exist
488- // var altNames = X509.decodeExtension(cert, 'subjectAlternativeName');
489- // var hostname = session.socket.host;
490- // for (var i = 0; i < altNames.length; i++) {
491- // var name = altNames[i];
492- // if (typeof name == "string" && this.matchName(name, hostname))
493- // return true;
494- // }
495- // var arr = X509.decodeTBS(cert).subject.match(/CN=([^,]*)/);
496- // return arr && arr.length > 1 && this.matchName(arr[1], hostname);
497- // },
498481
499482 unpacketize ( session , s ) {
500483 session . traceProtocol ( this ) ;
501- let certs = [ ] ;
484+ const certs = [ ] ;
502485 let ttlSize = s . readChars ( 3 ) ;
503486 while ( ttlSize > 0 && s . bytesAvailable > 0 ) {
504- let certSize = s . readChars ( 3 ) ;
505- certs . push ( s . readChunk ( certSize , true ) ) ;
506- ttlSize -= certSize + 3 ;
487+ const size = s . readChars ( 3 ) ;
488+ certs . push ( s . readChunk ( size , true ) ) ;
489+ ttlSize -= size + 3 ;
507490 }
508- if ( ! session . certificateManager . verify ( certs ) )
491+ if ( ! session . certificateManager . verify ( certs , session . options ) )
509492 throw new TLSError ( "certificate: auth err" ) ;
510493
511- /*
512- if (session.options.verifyHost) {
513- if (!this.verifyHost(session, certs[0]))
514- throw new TLSError("certificate: bad host");
515- }
516- */
517494 session . peerCert = certs [ 0 ] . slice ( 0 ) . buffer ; // could we store only the key?
518495 return session . certificateManager . register ( session . peerCert ) ; // tail call optimization
519496 } ,
0 commit comments