@@ -120,7 +120,7 @@ TLS_AES_256_GCM_SHA384
120
120
TLS_CHACHA20_POLY1305_SHA256
121
121
TLS_AES_128_GCM_SHA256
122
122
123
- $ tls-map extract oldwebsite.json ssllabs-scan
123
+ $ tls-map extract oldwebsite.json ssllabs-scan
124
124
SSL2.0
125
125
SSL_CK_RC4_128_WITH_MD5
126
126
SSL_CK_DES_192_EDE3_CBC_WITH_MD5
@@ -152,6 +152,31 @@ word so you have to use the `--force` option every time to bypass the security
152
152
check. So it is recommended to not use the update command and wait for official
153
153
release.
154
154
155
+ ### Bulk search
156
+
157
+ Search and translate cipher names between SSL/TLS libraries ** in bulk**
158
+
159
+ ` test/file_sample/bulk_IANA.txt `
160
+
161
+ ```
162
+ TLS_DH_RSA_WITH_AES_256_CBC_SHA
163
+ TLS_RSA_WITH_RC4_128_SHA
164
+ TLS_RSA_WITH_AES_128_CBC_SHA
165
+ TLS_INVALID
166
+ TLS_CHACHA20_POLY1305_SHA256
167
+ TLS_AES_256_GCM_SHA384
168
+ ```
169
+
170
+ ```
171
+ $ tls-map bulk iana test/file_sample/bulk_IANA.txt -q openssl
172
+ DH-RSA-AES256-SHA
173
+ RC4-SHA
174
+ AES128-SHA
175
+
176
+ TLS_CHACHA20_POLY1305_SHA256
177
+ TLS_AES_256_GCM_SHA384
178
+ ```
179
+
155
180
## Library
156
181
157
182
Basic usage, searching for cipher name equivalent in other libraries.
@@ -242,7 +267,7 @@ extractor.parse('ssllabs-scan', 'oldwebsite.json')
242
267
243
268
# Access to all extracted ciphers
244
269
extractor.ciphers
245
- =>
270
+ =>
246
271
# {"SSL2.0"=>["SSL_CK_RC4_128_WITH_MD5", "SSL_CK_DES_192_EDE3_CBC_WITH_MD5"],
247
272
# "SSL3.0"=>["TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_RSA_WITH_RC4_128_SHA", "TLS_RSA_WITH_RC4_128_MD5"],
248
273
# "TLS1.0"=>
@@ -263,3 +288,26 @@ extractor.ciphers
263
288
extractor.ssl20
264
289
# => ["SSL_CK_RC4_128_WITH_MD5", "SSL_CK_DES_192_EDE3_CBC_WITH_MD5"]
265
290
```
291
+
292
+ Search and translate cipher names between SSL/TLS libraries ** in bulk** :
293
+
294
+ ``` ruby
295
+ require ' tls_map'
296
+
297
+ tm = TLSmap ::App .new
298
+
299
+ tm.bulk_search(:iana , ' test/file_sample/bulk_IANA.txt' , :openssl )
300
+ # => [{:openssl=>"DH-RSA-AES256-SHA"}, {:openssl=>"RC4-SHA"}, {:openssl=>"AES128-SHA"}, {}, {:openssl=>"TLS_CHACHA20_POLY1305_SHA256"}, {:openssl=>"TLS_AES_256_GCM_SHA384"}]
301
+
302
+ tm.bulk_search(:iana , ' test/file_sample/bulk_IANA.txt' , :codepoint )
303
+ # => [{:codepoint=>"0037"}, {:codepoint=>"0005"}, {:codepoint=>"002F"}, {}, {:codepoint=>"1303"}, {:codepoint=>"1302"}]
304
+
305
+ tm.bulk_search(:iana , ' test/file_sample/bulk_IANA.txt' )
306
+ # =>
307
+ # [{:codepoint=>"0037", :iana=>"TLS_DH_RSA_WITH_AES_256_CBC_SHA", :openssl=>"DH-RSA-AES256-SHA", :gnutls=>nil, # :nss=>"TLS_DH_RSA_WITH_AES_256_CBC_SHA"},
308
+ # {:codepoint=>"0005", :iana=>"TLS_RSA_WITH_RC4_128_SHA", :openssl=>"RC4-SHA", :gnutls=>"RSA_ARCFOUR_128_SHA1", # :nss=>"TLS_RSA_WITH_RC4_128_SHA"},
309
+ # {:codepoint=>"002F", :iana=>"TLS_RSA_WITH_AES_128_CBC_SHA", :openssl=>"AES128-SHA", :gnutls=>"RSA_AES_128_CBC_SHA1", # :nss=>"TLS_RSA_WITH_AES_128_CBC_SHA"},
310
+ # {},
311
+ # {:codepoint=>"1303", :iana=>"TLS_CHACHA20_POLY1305_SHA256", :openssl=>"TLS_CHACHA20_POLY1305_SHA256", # :gnutls=>"CHACHA20_POLY1305_SHA256", :nss=>"TLS_CHACHA20_POLY1305_SHA256"},
312
+ # {:codepoint=>"1302", :iana=>"TLS_AES_256_GCM_SHA384", :openssl=>"TLS_AES_256_GCM_SHA384", :gnutls=>"AES_256_GCM_SHA384", # :nss=>"TLS_AES_256_GCM_SHA384"}]
313
+ ```
0 commit comments