rex-socket 0.1.19 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 679b9b84b7330ecd3b3c19bf55e6829bdf5c55f19ec928902867e58200a1b6f7
4
- data.tar.gz: e083b54db2bd91b5de5ca8db7a795443bff6f52fc2cb3dee695e0c3b869af0a7
2
+ SHA1:
3
+ metadata.gz: d324f9013128cde497a5e115e4c7573c6700add0
4
+ data.tar.gz: 9b45082ec8785468b0a5a36c6bf5eee8b8e50ca4
5
5
  SHA512:
6
- metadata.gz: c33ba960993643b36c4a9fe36772094ee2ac9396b928e63ec78f2d04c79f7396dba4aaa08aad61180f179471679c94e319392ed3eb4e7203f50c1e0c254c04be
7
- data.tar.gz: d02f730116d109024e0364f4b8612b584e11fbc1307166321a4178b75b307699a6f9301fa78df913b77e541e373506bcd18b028d2db2bfb4d725a81e84c5f4b0
6
+ metadata.gz: 46cdc0c917347c6754763f072d9cd4ccee6121904cf591d153ba4ff860a1e7182a5906353bb8574ac0cee3b4668a36c7916900721a7c04e9dd7d5561487d9121
7
+ data.tar.gz: a9b518568244c4dc29f92fc2a273aa45c9cfdd8f17212693839e40406fe0e285d149661fb0a2bd0d18b6032a22e4bee25a17569dd4369f378a3972c3256b5acd
@@ -0,0 +1 @@
1
+ [搚�����mNb���*��D�����pz�ɘ��ua���� �0J�su��̾1�֨���'��5����)����\b <��Y�������[,�;)�3 �3 �q��@ �h���2��C�|�*v;�����Q7b��:�&F��i�`��LL�Z��N�V�+K��
@@ -0,0 +1,3 @@
1
+ �6,|���V�-uVȎ�wh�J� �ì*�m�Fʅ�&^�Q��l2дSRq��d���F| R4��i|���ݣ|��]��< D�<Ո2}��� ��̍�|����ӡo��*�᳗�3�ō߂C��L����!���x�4m�����>�P~8}���b5s��k�
2
+ ����Mj �q��j�ӷ�$I��ߡ�[���8�0�w��^.�`���IM����P��mǭ
3
+ n$�����*�h�����va��s
@@ -13,10 +13,12 @@ module Rex::Socket::Ssl
13
13
 
14
14
  module CertProvider
15
15
 
16
- def self.ssl_generate_subject(cn = Rex::Text.rand_hostname, org = Rex::Text.rand_name)
17
- st = Rex::Text.rand_state
18
- loc = Rex::Text.rand_name.capitalize
19
- "/C=US/ST=#{st}/L=#{loc}/O=#{org.capitalize}/CN=#{cn}"
16
+ def self.ssl_generate_subject(cn: nil, org: nil, loc: nil, st: nil)
17
+ st ||= Rex::Text.rand_state
18
+ loc ||= Rex::Text.rand_name.capitalize
19
+ org ||= Rex::Text.rand_name.capitalize
20
+ cn ||= Rex::Text.rand_hostname
21
+ "/C=US/ST=#{st}/L=#{loc}/O=#{org}/CN=#{cn}"
20
22
  end
21
23
 
22
24
  def self.ssl_generate_issuer
@@ -30,11 +32,11 @@ module Rex::Socket::Ssl
30
32
  # certificate. This matches a typical "snakeoil" cert.
31
33
  #
32
34
  # @return [String, String, Array]
33
- def self.ssl_generate_certificate(cn = Rex::Text.rand_hostname, org = Rex::Text.rand_name)
35
+ def self.ssl_generate_certificate(cert_vars: {}, **opts)
34
36
  yr = 24*3600*365
35
37
  vf = Time.at(Time.now.to_i - rand(yr * 3) - yr)
36
38
  vt = Time.at(vf.to_i + (rand(9)+1) * yr)
37
- subject = ssl_generate_subject(cn, org)
39
+ subject = ssl_generate_subject(**cert_vars)
38
40
  issuer = ssl_generate_issuer
39
41
  key = OpenSSL::PKey::RSA.new(2048){ }
40
42
  cert = OpenSSL::X509::Certificate.new
@@ -88,8 +90,8 @@ module Rex::Socket::Ssl
88
90
  @@cert_provider.ssl_generate_issuer
89
91
  end
90
92
 
91
- def self.ssl_generate_certificate(cn = Rex::Text.rand_hostname, org = Rex::Text.rand_name)
92
- @@cert_provider.ssl_generate_certificate(cn, org)
93
+ def self.ssl_generate_certificate(**opts)
94
+ @@cert_provider.ssl_generate_certificate(**opts)
93
95
  end
94
96
 
95
97
  #
@@ -102,8 +104,8 @@ module Rex::Socket::Ssl
102
104
  #
103
105
  # Shim for the ssl_generate_certificate module method
104
106
  #
105
- def ssl_generate_certificate(cn = Rex::Text.rand_hostname, org = Rex::Text.rand_name)
106
- Rex::Socket::Ssl.ssl_generate_certificate(cn, org)
107
+ def ssl_generate_certificate(**opts)
108
+ Rex::Socket::Ssl.ssl_generate_certificate(**opts)
107
109
  end
108
110
 
109
111
  #
@@ -117,7 +119,7 @@ module Rex::Socket::Ssl
117
119
  if params.ssl_cert
118
120
  key, cert, chain = ssl_parse_pem(params.ssl_cert)
119
121
  else
120
- key, cert, chain = ssl_generate_certificate(params.ssl_cn)
122
+ key, cert, chain = ssl_generate_certificate(cert_vars: {cn: params.ssl_cn})
121
123
  end
122
124
 
123
125
  ctx = OpenSSL::SSL::SSLContext.new()
@@ -1,5 +1,5 @@
1
1
  module Rex
2
2
  module Socket
3
- VERSION = "0.1.19"
3
+ VERSION = "0.1.20"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,94 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rex-socket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.19
4
+ version: 0.1.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Maloney
8
8
  autorequire:
9
9
  bindir: exe
10
- cert_chain: []
11
- date: 2019-08-28 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
14
+ A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
15
+ Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
16
+ MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
17
+ A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
18
+ hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
19
+ RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
20
+ gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
21
+ KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
22
+ QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
23
+ XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
24
+ DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
25
+ LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
26
+ RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
27
+ jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
28
+ 6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
29
+ mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
30
+ Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
31
+ WD9f
32
+ -----END CERTIFICATE-----
33
+ - |
34
+ -----BEGIN CERTIFICATE-----
35
+ MIIElDCCA3ygAwIBAgIOSBtqBybS6D8mAtSCWs0wDQYJKoZIhvcNAQELBQAwTDEg
36
+ MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2Jh
37
+ bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTYwNjE1MDAwMDAwWhcNMjQw
38
+ NjE1MDAwMDAwWjBaMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBu
39
+ di1zYTEwMC4GA1UEAxMnR2xvYmFsU2lnbiBDb2RlU2lnbmluZyBDQSAtIFNIQTI1
40
+ NiAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjYVVI6kfU6/J
41
+ 7TbCKbVu2PlC9SGLh/BDoS/AP5fjGEfUlk6Iq8Zj6bZJFYXx2Zt7G/3YSsxtToZA
42
+ F817ukcotdYUQAyG7h5LM/MsVe4hjNq2wf6wTjquUZ+lFOMQ5pPK+vldsZCH7/g1
43
+ LfyiXCbuexWLH9nDoZc1QbMw/XITrZGXOs5ynQYKdTwfmOPLGC+MnwhKkQrZ2TXZ
44
+ g5J2Yl7fg67k1gFOzPM8cGFYNx8U42qgr2v02dJsLBkwXaBvUt/RnMngDdl1EWWW
45
+ 2UO0p5A5rkccVMuxlW4l3o7xEhzw127nFE2zGmXWhEpX7gSvYjjFEJtDjlK4Prau
46
+ niyX/4507wIDAQABo4IBZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQG
47
+ CCsGAQUFBwMDBggrBgEFBQcDCTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
48
+ BBQPOueslJF0LZYCc4OtnC5JPxmqVDAfBgNVHSMEGDAWgBSP8Et/qC5FJK5NUPpj
49
+ move4t0bvDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3Nw
50
+ Mi5nbG9iYWxzaWduLmNvbS9yb290cjMwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov
51
+ L2NybC5nbG9iYWxzaWduLmNvbS9yb290LXIzLmNybDBjBgNVHSAEXDBaMAsGCSsG
52
+ AQQBoDIBMjAIBgZngQwBBAEwQQYJKwYBBAGgMgFfMDQwMgYIKwYBBQUHAgEWJmh0
53
+ dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3DQEB
54
+ CwUAA4IBAQAVhCgM7aHDGYLbYydB18xjfda8zzabz9JdTAKLWBoWCHqxmJl/2DOK
55
+ XJ5iCprqkMLFYwQL6IdYBgAHglnDqJQy2eAUTaDVI+DH3brwaeJKRWUtTUmQeGYy
56
+ DrBowLCIsI7tXAb4XBBIPyNzujtThFKAzfCzFcgRCosFeEZZCNS+t/9L9ZxqTJx2
57
+ ohGFRYzUN+5Q3eEzNKmhHzoL8VZEim+zM9CxjtEMYAfuMsLwJG+/r/uBAXZnxKPo
58
+ 4KvcM1Uo42dHPOtqpN+U6fSmwIHRUphRptYCtzzqSu/QumXSN4NTS35nfIxA9gcc
59
+ sK8EBtz4bEaIcpzrTp3DsLlUo7lOl8oU
60
+ -----END CERTIFICATE-----
61
+ - |
62
+ -----BEGIN CERTIFICATE-----
63
+ MIIE5jCCA86gAwIBAgIMKDuO03uv6RWXR1uAMA0GCSqGSIb3DQEBCwUAMFoxCzAJ
64
+ BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTAwLgYDVQQDEydH
65
+ bG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gU0hBMjU2IC0gRzMwHhcNMTYwOTEz
66
+ MTgxMDIyWhcNMTkxMTExMTUxNTM4WjBgMQswCQYDVQQGEwJVUzEWMBQGA1UECBMN
67
+ TWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRMwEQYDVQQKEwpSYXBpZDcg
68
+ TExDMRMwEQYDVQQDEwpSYXBpZDcgTExDMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
69
+ MIIBCgKCAQEAl0HeC0FzN1BJ4nQkxsBng3peS9Bdi9rpSGx+g0Ximd+M/7twmund
70
+ bzn2JPbNK/Gp/rq/SytrNSLcUzcbH/0z5Ltyw1/jQsGtRBrns0NZSRXqupQDW5R6
71
+ HFpaIAl3OdsesmIQc/fm0uhh8dkfHVo7UsZO/TeCPoy0uHXTI6aFBPzMMsdz+gf3
72
+ cCCLsnNKQh/T2Q/jwBs3NTPoyza/pPZcvGogKcWCeNihTO5Rn1Fc71sMHSjQsDtn
73
+ 1fWGKYGi0qjvZ4lpGM9IFZMTbySKHbPLhhHnBOoV7avGemdky3AEsUeiT+6DY0P1
74
+ IydBy24uVNhGATglME1ttlT4Eme/to0M6wIDAQABo4IBpDCCAaAwDgYDVR0PAQH/
75
+ BAQDAgeAMIGUBggrBgEFBQcBAQSBhzCBhDBIBggrBgEFBQcwAoY8aHR0cDovL3Nl
76
+ Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Njb2Rlc2lnbnNoYTJnM29jc3Au
77
+ Y3J0MDgGCCsGAQUFBzABhixodHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20vZ3Nj
78
+ b2Rlc2lnbnNoYTJnMzBWBgNVHSAETzBNMEEGCSsGAQQBoDIBMjA0MDIGCCsGAQUF
79
+ BwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAIBgZn
80
+ gQwBBAEwCQYDVR0TBAIwADA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmds
81
+ b2JhbHNpZ24uY29tL2dzY29kZXNpZ25zaGEyZzMuY3JsMBMGA1UdJQQMMAoGCCsG
82
+ AQUFBwMDMB0GA1UdDgQWBBSm8RBpBC/cK9VmxzO2+RWnacN8CTAfBgNVHSMEGDAW
83
+ gBQPOueslJF0LZYCc4OtnC5JPxmqVDANBgkqhkiG9w0BAQsFAAOCAQEANVO3uYQl
84
+ h8iicbaXE3odrL+kXXmeeNgt4BD3x7GKAVIVixtwBS6pvrshjc1LN0tm3ruiv8oy
85
+ cq4FiEmVUXZejSRvVVtABeWdZWo+lJ8NxCBUEYYmnMrjgFIbGiEbBsg7PGtyeQsA
86
+ 5Wbg7Lx889mS1tKfQBcPif8EjpTiXNfMiywmpaMYmvm+yQgzrRLDbjz6JV0Rc5Ga
87
+ WChka+LTPnMtsWJuFM8ka8icMeS28/nAGERdewxWvz+DeAPMORdTJ7aqb6+Y9xuz
88
+ G+Hmcg1v810agasPdoydE0RTVZgEOOMoQ07qu7JFXVWZ9ZQpHT7qJATWL/b2csFG
89
+ 8mVuTXnyJOKRJA==
90
+ -----END CERTIFICATE-----
91
+ date: 2019-08-30 00:00:00.000000000 Z
12
92
  dependencies:
13
93
  - !ruby/object:Gem::Dependency
14
94
  name: bundler
@@ -123,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
203
  version: '0'
124
204
  requirements: []
125
205
  rubyforge_project:
126
- rubygems_version: 2.7.8
206
+ rubygems_version: 2.6.14
127
207
  signing_key:
128
208
  specification_version: 4
129
209
  summary: The Ruby Exploitation (Rex) Socket Abstraction Library.
Binary file