canonix 0.1.4 → 0.1.5
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.
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.5
|
data/canonix.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{canonix}
|
|
8
|
-
s.version = "0.1.
|
|
8
|
+
s.version = "0.1.5"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Brendon Muir"]
|
|
12
|
-
s.date = %q{2011-
|
|
12
|
+
s.date = %q{2011-10-04}
|
|
13
13
|
s.description = %q{This is based on andrewferk's rewrite for Ruby 1.9 compatibility, but applies
|
|
14
14
|
relevance's fix to ensure proper canonicalisation. It is intended that this be the new official
|
|
15
15
|
Ruby XML Canonicaliser as the other project seems to be abandoned.}
|
|
@@ -31,6 +31,8 @@ Gem::Specification.new do |s|
|
|
|
31
31
|
"test/helper.rb",
|
|
32
32
|
"test/saml_assertion.xml",
|
|
33
33
|
"test/saml_expected_canonical_form.xml",
|
|
34
|
+
"test/saml_with_default_namespace.xml",
|
|
35
|
+
"test/saml_with_default_namespace_expected_canonical_form.xml",
|
|
34
36
|
"test/saml_with_inclusive_ns_assertion.xml",
|
|
35
37
|
"test/saml_with_inclusive_ns_expected_canonical_form.xml",
|
|
36
38
|
"test/test_xmlcanonicalizer.rb",
|
data/test/expected.xml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<samlp:ArtifactResponse xmlns
|
|
1
|
+
<samlp:ArtifactResponse xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="122401A9D1742640618954CDD50CEC459150836A" IssueInstant="2010-09-10T00:00:50-05:00" Version="2.0"><samlp:Status><samlp:StatusCode ID="A6B45394506685EAD93131AD335775015C49B52C" Value="urn:oasis:names:tc:SAML:2.0:status:Failure"></samlp:StatusCode></samlp:Status><samlp:Assertion ID="11B542652811C7A1AC8B8265D92AB293CCA66B26" IssueInstant="2010-09-10T00:00:50-05:00"><Issuer>example.net</Issuer><Subject><NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"></NameID><SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation></Subject><Conditions NotBefore="2010-09-10T00:00:50-05:00" NotOnOrAfter="2010-09-10T12:00:50-05:00"></Conditions><AuthnStatement AuthnInstant="2010-09-10T00:00:50-05:00"><AuthnContext><AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession</AuthnContextClassRef></AuthnContext></AuthnStatement><AttributeStatement><Attribute Name="urn:example:profiles"><AttributeValue FriendlyName="type" type="example:profile:attribute">Person</AttributeValue><AttributeValue FriendlyName="SessionID" type="example:profile:attribute">02b5e2df689b97067dc51a0cd2029510</AttributeValue><AttributeValue FriendlyName="Role" type="example:profile:role">Public</AttributeValue></Attribute></AttributeStatement></samlp:Assertion><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference URI="122401A9D1742640618954CDD50CEC459150836A"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><InclusiveNamespaces PrefixList="#default saml ds xs xsi"></InclusiveNamespaces></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>dQskOs0c6N7GbFJ13SbozqhEQTM=
|
|
2
2
|
</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>d2rgUtclTSl7q68kZTkaFo8/rBZk/NEmkeKT7qM5doiVhHF4FrMuv7NdQVbQ
|
|
3
3
|
Vi//wyYk6i9u8s13tsYnliSo+4xGbWl112LrAp8U2E8pLjMxqLYQHXw6qV3h
|
|
4
4
|
TLhKw/k8sYS54nOye9t7M0VxHl+sKfX+YZFr8EI3ST2/BKFqm5c=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<saml:Assertion ID='s272db1ff577ed4463edc408a3d7f3571aebf1696a' IssueInstant='2010-10-28T13:35:36Z' Version='2.0' xmlns='urn:oasis:names:tc:SAML:2.0:protocol' xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'>
|
|
2
|
+
<saml:Issuer>http://dev.example.com:8080/opensso</saml:Issuer><saml:Subject>
|
|
3
|
+
<saml:NameID Format='urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress' NameQualifier='http://dev.example.com:8080/opensso'>person@example.com</saml:NameID><saml:SubjectConfirmation Method='urn:oasis:names:tc:SAML:2.0:cm:bearer'>
|
|
4
|
+
<saml:SubjectConfirmationData InResponseTo='294e5540-c4c6-012d-1a98-0017f2dcb387' NotOnOrAfter='2010-10-28T13:45:36Z' Recipient='http://localhost:3000/auth/authenticate'/></saml:SubjectConfirmation>
|
|
5
|
+
</saml:Subject><saml:Conditions NotBefore='2010-10-28T13:25:36Z' NotOnOrAfter='2010-10-28T13:45:36Z'>
|
|
6
|
+
<saml:AudienceRestriction>
|
|
7
|
+
<saml:Audience>saml-example</saml:Audience>
|
|
8
|
+
</saml:AudienceRestriction>
|
|
9
|
+
</saml:Conditions>
|
|
10
|
+
<saml:AuthnStatement AuthnInstant='2010-10-28T13:35:36Z' SessionIndex='s2eddbcf944c22056cec33d0ea24a54217a164f601'><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement><saml:AttributeStatement><saml:Attribute Name='name'><saml:AttributeValue xsi:type='xs:string' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>happy</saml:AttributeValue></saml:Attribute><saml:Attribute Name='uuid'><saml:AttributeValue xsi:type='xs:string' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>3c678d50-c357-012d-1a87-0017f2dcb387</saml:AttributeValue></saml:Attribute></saml:AttributeStatement></saml:Assertion>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<saml:Assertion xmlns="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="s272db1ff577ed4463edc408a3d7f3571aebf1696a" IssueInstant="2010-10-28T13:35:36Z" Version="2.0">
|
|
2
|
+
<saml:Issuer>http://dev.example.com:8080/opensso</saml:Issuer><saml:Subject>
|
|
3
|
+
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" NameQualifier="http://dev.example.com:8080/opensso">person@example.com</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
|
|
4
|
+
<saml:SubjectConfirmationData InResponseTo="294e5540-c4c6-012d-1a98-0017f2dcb387" NotOnOrAfter="2010-10-28T13:45:36Z" Recipient="http://localhost:3000/auth/authenticate"></saml:SubjectConfirmationData></saml:SubjectConfirmation>
|
|
5
|
+
</saml:Subject><saml:Conditions NotBefore="2010-10-28T13:25:36Z" NotOnOrAfter="2010-10-28T13:45:36Z">
|
|
6
|
+
<saml:AudienceRestriction>
|
|
7
|
+
<saml:Audience>saml-example</saml:Audience>
|
|
8
|
+
</saml:AudienceRestriction>
|
|
9
|
+
</saml:Conditions>
|
|
10
|
+
<saml:AuthnStatement AuthnInstant="2010-10-28T13:35:36Z" SessionIndex="s2eddbcf944c22056cec33d0ea24a54217a164f601"><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement><saml:AttributeStatement><saml:Attribute Name="name"><saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">happy</saml:AttributeValue></saml:Attribute><saml:Attribute Name="uuid"><saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">3c678d50-c357-012d-1a87-0017f2dcb387</saml:AttributeValue></saml:Attribute></saml:AttributeStatement></saml:Assertion>
|
|
@@ -91,6 +91,16 @@ class TestXmlCanonicalizer < Test::Unit::TestCase
|
|
|
91
91
|
xml_expect = fixture("saml_expected_canonical_form.xml")
|
|
92
92
|
assert_equal xml_expect, xml_canonicalized
|
|
93
93
|
end
|
|
94
|
+
|
|
95
|
+
should "canonicalize a saml xml file with default namespace correctly" do
|
|
96
|
+
xml_canonicalizer = XML::Util::XmlCanonicalizer.new(false,true)
|
|
97
|
+
|
|
98
|
+
rexml = rexml_fixture("saml_with_default_namespace.xml")
|
|
99
|
+
xml_canonicalized = xml_canonicalizer.canonicalize(rexml)
|
|
100
|
+
|
|
101
|
+
xml_expect = fixture("saml_with_default_namespace_expected_canonical_form.xml")
|
|
102
|
+
assert_equal xml_expect, xml_canonicalized
|
|
103
|
+
end
|
|
94
104
|
|
|
95
105
|
should "canonicalize a saml file with inclusive namespaces" do
|
|
96
106
|
xml_canonicalizer = XML::Util::XmlCanonicalizer.new(false,true)
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: canonix
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 17
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 0.1.
|
|
9
|
+
- 5
|
|
10
|
+
version: 0.1.5
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Brendon Muir
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-
|
|
18
|
+
date: 2011-10-04 00:00:00 +13:00
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -57,6 +57,8 @@ files:
|
|
|
57
57
|
- test/helper.rb
|
|
58
58
|
- test/saml_assertion.xml
|
|
59
59
|
- test/saml_expected_canonical_form.xml
|
|
60
|
+
- test/saml_with_default_namespace.xml
|
|
61
|
+
- test/saml_with_default_namespace_expected_canonical_form.xml
|
|
60
62
|
- test/saml_with_inclusive_ns_assertion.xml
|
|
61
63
|
- test/saml_with_inclusive_ns_expected_canonical_form.xml
|
|
62
64
|
- test/test_xmlcanonicalizer.rb
|