rex-socket 0.1.19 → 0.1.20

Sign up to get free protection for your applications and to get access to all the features.
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