2017-02-08 27 views
8

Tôi muốn kết nối với máy chủ chỉ hỗ trợ TLS 1.2. Tôi có thể chỉ định những thuật toán mã hóa nào có thể để truyền phát bối cảnh trong việc tạo ra PHP NUSOAP SoapClient?Mật mã TLS v1.2 để sử dụng trong PHP NUSOAP SoapClient

<?php 
    $objSoapClient = new SoapClient(
     "https://example.com/?wsdl", 
     array(
      "encoding"=>"ISO-8859-1", 
      "stream_context"=>stream_context_create(
       array(
        "ssl"=>array("ciphers"=>"<????>") 
       ) 
      ) 
     ) 
    ); 
?> 
+0

là câu trả lời dưới đây OK? –

+0

Câu trả lời của bạn dưới đây là OK cho PHP SoapClient. Tôi cũng đang tìm cách làm tương tự bằng cách sử dụng PHP NUSOAP API. – Kartins

Trả lời

4

TLS v1.2 được mô tả trong RFC5246, bạn có thể read it here. Danh sách các thuật toán mã hóa bạn có thể tìm thấy in openssl wiki, sử dụng dòng thứ hai mà không cần theo dõi 256. Bạn có thể tự lấy danh sách các mật mã được sử dụng bằng cách chạy openssl ciphers -v | grep -v 'TLSv1.2' trên máy chủ trong trường hợp bạn có quyền truy cập vào nó.

$context = stream_context_create(
    [ 
     'ssl' => [ 
      'ciphers' => 'DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA', 
     ], 
    ] 
); 

Danh sách các mật mã trong TLS v1.2

TLS_RSA_WITH_NULL_SHA256     NULL-SHA256 

TLS_RSA_WITH_AES_128_CBC_SHA256   AES128-SHA256 
TLS_RSA_WITH_AES_256_CBC_SHA256   AES256-SHA256 
TLS_RSA_WITH_AES_128_GCM_SHA256   AES128-GCM-SHA256 
TLS_RSA_WITH_AES_256_GCM_SHA384   AES256-GCM-SHA384 

TLS_DH_RSA_WITH_AES_128_CBC_SHA256  DH-RSA-AES128-SHA256 
TLS_DH_RSA_WITH_AES_256_CBC_SHA256  DH-RSA-AES256-SHA256 
TLS_DH_RSA_WITH_AES_128_GCM_SHA256  DH-RSA-AES128-GCM-SHA256 
TLS_DH_RSA_WITH_AES_256_GCM_SHA384  DH-RSA-AES256-GCM-SHA384 

TLS_DH_DSS_WITH_AES_128_CBC_SHA256  DH-DSS-AES128-SHA256 
TLS_DH_DSS_WITH_AES_256_CBC_SHA256  DH-DSS-AES256-SHA256 
TLS_DH_DSS_WITH_AES_128_GCM_SHA256  DH-DSS-AES128-GCM-SHA256 
TLS_DH_DSS_WITH_AES_256_GCM_SHA384  DH-DSS-AES256-GCM-SHA384 

TLS_DHE_RSA_WITH_AES_128_CBC_SHA256  DHE-RSA-AES128-SHA256 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256  DHE-RSA-AES256-SHA256 
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256  DHE-RSA-AES128-GCM-SHA256 
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384  DHE-RSA-AES256-GCM-SHA384 

TLS_DHE_DSS_WITH_AES_128_CBC_SHA256  DHE-DSS-AES128-SHA256 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256  DHE-DSS-AES256-SHA256 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256  DHE-DSS-AES128-GCM-SHA256 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384  DHE-DSS-AES256-GCM-SHA384 

TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256  ECDH-RSA-AES128-SHA256 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384  ECDH-RSA-AES256-SHA384 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256  ECDH-RSA-AES128-GCM-SHA256 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384  ECDH-RSA-AES256-GCM-SHA384 

TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 ECDH-ECDSA-AES128-SHA256 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 ECDH-ECDSA-AES256-SHA384 
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 ECDH-ECDSA-AES128-GCM-SHA256 
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 ECDH-ECDSA-AES256-GCM-SHA384 

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256  ECDHE-RSA-AES128-SHA256 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384  ECDHE-RSA-AES256-SHA384 
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256  ECDHE-RSA-AES128-GCM-SHA256 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384  ECDHE-RSA-AES256-GCM-SHA384 

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 ECDHE-ECDSA-AES128-SHA256 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 ECDHE-ECDSA-AES256-SHA384 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ECDHE-ECDSA-AES256-GCM-SHA384 

TLS_DH_anon_WITH_AES_128_CBC_SHA256  ADH-AES128-SHA256 
TLS_DH_anon_WITH_AES_256_CBC_SHA256  ADH-AES256-SHA256 
TLS_DH_anon_WITH_AES_128_GCM_SHA256  ADH-AES128-GCM-SHA256 
TLS_DH_anon_WITH_AES_256_GCM_SHA384  ADH-AES256-GCM-SHA384 
Các vấn đề liên quan