sigaedu_api 2.1.0 → 2.1.1
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 +4 -4
- data/.gitignore +2 -0
- data/Gemfile.lock +1 -1
- data/README.md +4 -0
- data/lib/sigaedu_api/api.rb +14 -1
- data/lib/sigaedu_api/certificates/globalsign_root_r46.pem +31 -0
- data/lib/sigaedu_api/certificates/rnp_icpedu_gr46_ov_tls_ca_2025.pem +38 -0
- data/lib/sigaedu_api/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 786eb0fa9f3bee1764481be9ab9b36cdf27cca7ec3dcacd5eaaa5e8c5723ad76
|
|
4
|
+
data.tar.gz: 1a236ea58c1e5b41a24507e1ac5525342749113f09d2cfee7a1b0bc1c671b788
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 667ccc3214c3026e0b1970fc9158ff13d09c11ca4b8283d94c602e8cdc851c50d0f092e427ac62a6cfb389c40b38faf920aaef029031a724aeb5da1357008c4b
|
|
7
|
+
data.tar.gz: 45b4d451f1fd2d1bd86c27aa437e115c4505cc682d84c24655c39ab7142d3957dde53e78bf7e161f533ef05400dbfac56d3ce89e634ec769f6bacbf0acf3989c
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -33,6 +33,10 @@ student_data.get_data(student_id)
|
|
|
33
33
|
|
|
34
34
|
As credenciais são usadas somente para autenticar a sessão no SIGA Edu. Os testes automatizados não acessam o sistema acadêmico.
|
|
35
35
|
|
|
36
|
+
## TLS do SIGA Edu
|
|
37
|
+
|
|
38
|
+
O SIGA Edu atualmente não entrega toda a cadeia de certificados necessária para alguns ambientes Ruby. A gem inclui os certificados públicos RNP ICPEdu GR46 e GlobalSign Root R46 para completar essa cadeia, mantendo a verificação TLS e de hostname ativas.
|
|
39
|
+
|
|
36
40
|
## Desenvolvimento
|
|
37
41
|
|
|
38
42
|
Depois de clonar o repositório, instale as dependências com `bundle install` e rode a suíte com:
|
data/lib/sigaedu_api/api.rb
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
require "openssl"
|
|
2
|
+
|
|
1
3
|
module SigaeduApi
|
|
2
4
|
class Api
|
|
3
5
|
BASE_URL = "https://academico.ifms.edu.br/administrativo/".freeze
|
|
6
|
+
RNP_INTERMEDIATE_CERTIFICATE = File.expand_path("certificates/rnp_icpedu_gr46_ov_tls_ca_2025.pem", __dir__).freeze
|
|
7
|
+
GLOBALSIGN_ROOT_CERTIFICATE = File.expand_path("certificates/globalsign_root_r46.pem", __dir__).freeze
|
|
8
|
+
|
|
9
|
+
def self.default_cert_store
|
|
10
|
+
OpenSSL::X509::Store.new.tap do |store|
|
|
11
|
+
store.set_default_paths
|
|
12
|
+
store.add_file(RNP_INTERMEDIATE_CERTIFICATE)
|
|
13
|
+
store.add_file(GLOBALSIGN_ROOT_CERTIFICATE)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
4
16
|
|
|
5
|
-
def initialize(mechanize: Mechanize.new)
|
|
17
|
+
def initialize(mechanize: Mechanize.new, cert_store: self.class.default_cert_store)
|
|
6
18
|
@mechanize = mechanize
|
|
19
|
+
@mechanize.agent.http.cert_store = cert_store
|
|
7
20
|
@mechanize.get(BASE_URL)
|
|
8
21
|
end
|
|
9
22
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
31
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIGnjCCBIagAwIBAgIRAISsNxNp8rOJbBB1nGV+D9EwDQYJKoZIhvcNAQEMBQAw
|
|
3
|
+
RjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNV
|
|
4
|
+
BAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwHhcNMjUxMTE5MDMyNzU1WhcNMzAxMTE5
|
|
5
|
+
MDAwMDAwWjBpMQswCQYDVQQGEwJCUjExMC8GA1UEChMoUkVERSBOQUNJT05BTCBE
|
|
6
|
+
RSBFTlNJTk8gRSBQRVNRVUlTQSAtIFJOUDEnMCUGA1UEAxMeUk5QIElDUEVkdSBH
|
|
7
|
+
UjQ2IE9WIFRMUyBDQSAyMDI1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
|
|
8
|
+
AgEAqBd4pyjCSQPAFcGq8km8PmRE/BoAJdPvYWKz6gr6x4sXfY40iCWxWLgZkGuN
|
|
9
|
+
+OwfXRmCXC1hIb2/WWf8Nl92SSfTb/J0D7KVSksnTrXtxyxXSaEnlKEVKltoTVSC
|
|
10
|
+
yEop+pZf6SwuK0l66xvmM9dt/xGgngIvpeaxIIMAAgNDp52PlSrJh5IKzD/FJ4s0
|
|
11
|
+
Rq9Aiz3bXLYXCMCa+8WSSVfxJWYgK9IdrTAsu1T24c+xj9TvMcbUgzTDZLhvsRwj
|
|
12
|
+
FcY332r9XszFkDqZxCSnjb/ztYa5jFrNGGHlmygMUmBCHGqcsqet/trLKjtaGoqO
|
|
13
|
+
JwD0Kk/FAsqF4aGUH7hwIwRuD6ce4BjmPbv870jGdhlRyaMITLbP1YwPDOuoRkrI
|
|
14
|
+
utjL30dyHZWiJq1WuYbcgWODH8QwF5BUyxdHpGsv/QL2GXn/Z+GFgdO+4dBnGz7S
|
|
15
|
+
AokPYKmMQwKdyn3hzNgShDSFq0sj+vhT3fAXSlth1xjCvdDz+ttccinn71FV5Ahu
|
|
16
|
+
S4n9gw8RmSlJoYhr1pzn4Aryi6+31gJVPA8UyTfVh9MbBi7BqPmMnYeZYj7Pr6o0
|
|
17
|
+
k8wsz5RA+HL5AbS1QouWcFFe4LEKWqXh67xFONVfi1bO/Y31mDU3fhSzW8tx6bkm
|
|
18
|
+
s7N2YunWsPgrOGTcBKbrQTseAShEamJoenImGL4fbP8zZF8CAwEAAaOCAWIwggFe
|
|
19
|
+
MA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDATASBgNVHRMBAf8E
|
|
20
|
+
CDAGAQH/AgEAMB0GA1UdDgQWBBSUsMlPweBs787GK2yztMsiinZJtzAfBgNVHSME
|
|
21
|
+
GDAWgBQDXKtzgYeozLCm1ZTiNpZJ/wWZLDB7BggrBgEFBQcBAQRvMG0wLgYIKwYB
|
|
22
|
+
BQUHMAGGImh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyNDYwOwYIKwYB
|
|
23
|
+
BQUHMAKGL2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L3Jvb3Ry
|
|
24
|
+
NDYuY3J0MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5j
|
|
25
|
+
b20vcm9vdHI0Ni5jcmwwLgYDVR0gBCcwJTAIBgZngQwBAgIwDAYKKwYBBAGgMgoB
|
|
26
|
+
AjALBgkrBgEEAaAyARQwDQYJKoZIhvcNAQEMBQADggIBABAGOWuTA3iFMqABnBPR
|
|
27
|
+
rb1YNwcRqQE1Tvz+9f7a0YUWk+wNH3yPVAqd3i9abWtRT6nNBpu49XNAqWSebXpR
|
|
28
|
+
9J5Im5NJruhYxqtd5c6Y04GdoS/JSh6HmJxiBS2Tv5E+Z9yqkBgt41VhxszYEbus
|
|
29
|
+
qL/56foMry+EWvXRJ0nA9P0GxdFmbTD4DkLFq++E15FBeRf7uRGUe46bZN345OQ7
|
|
30
|
+
jhN2eZwpHzIwTrfaPwHxkFThXU8KPgClmq77JJ/NzlAAPEjpr+TF6K17lzBZS1o1
|
|
31
|
+
Lrk+EFDOGVGc0Ncad7JcFldwmLd0C9B73jq0t5opQcl/u1wdIanosZ418vCJp25K
|
|
32
|
+
QW1BCDCHenf+6mA2VptyuywHcDqM75rSGi5wxbE4IxkMxrl89HsQKfRSJbDT/0v5
|
|
33
|
+
gGlMw/UaCMP6O/4nwHrmXQJ2CVS7M4ucbUbm+ZSqOWgkDCTVvXyyIzWFpWxMk7UH
|
|
34
|
+
XBTei1qG19/PbShKTgYcgod0ReTr4osyARZ5T7jZqe8UKW1DUXcVasukATKryagk
|
|
35
|
+
NRRjRmM9YasyVMO3SVhTFp49aqAe173TKd2yatDmxlvB9s5fZ5pz5ptdyQFTyv+N
|
|
36
|
+
yLDZd5PHiO/JWBFL3g2XVFgKmDVlKsBkqLs/NR18/RWv0d7YKTVVfhc64gdXQAMt
|
|
37
|
+
Lyso4S/KfU1hV0inHITEfil4
|
|
38
|
+
-----END CERTIFICATE-----
|
data/lib/sigaedu_api/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sigaedu_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luiz Picolo
|
|
@@ -163,6 +163,8 @@ files:
|
|
|
163
163
|
- lib/sigaedu_api/academic_registry/student.rb
|
|
164
164
|
- lib/sigaedu_api/academic_registry/student_data.rb
|
|
165
165
|
- lib/sigaedu_api/api.rb
|
|
166
|
+
- lib/sigaedu_api/certificates/globalsign_root_r46.pem
|
|
167
|
+
- lib/sigaedu_api/certificates/rnp_icpedu_gr46_ov_tls_ca_2025.pem
|
|
166
168
|
- lib/sigaedu_api/version.rb
|
|
167
169
|
- sigaedu_api.gemspec
|
|
168
170
|
homepage: https://github.com/luizpicolo/sigaedu_api
|