Skip to content

Instantly share code, notes, and snippets.

@knewter
Forked from rclements/gist:5050690
Created February 27, 2013 19:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save knewter/5050703 to your computer and use it in GitHub Desktop.
Save knewter/5050703 to your computer and use it in GitHub Desktop.
require 'pry'
require 'net/http'
#require 'rexml/document'
#include REXML
class SamlSend
def initialize
end
def saml_send
url = URI.parse('https://edeliverysso.readiness.metavante.com/sso/SSOServlet')
request = Net::HTTP::Post.new(url.path)
request.content_type = 'text/xml'
request.body = "<EntityDescriptor xmlns='urn:oasis:names:tc:SAML:2.0:metadata' xmlns:ds='http://www.w3.org/2000/09/xmldsig#' xmlns:shibmd='urn:mace:shibboleth:metadata:1.0' ID='OSU132206967' entityID='urn:mace:incommon:osu.edu' validUntil='2013-03-01T11:00:01Z'>
<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:SignatureMethod Algorithm='http://www.w3.org/2000/09/xmldsig#rsa-sha1'/>
<ds:Reference URI='#OSU132206967'>
<ds:Transforms>
<ds:Transform Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature'/>
<ds:Transform Algorithm='http://www.w3.org/2001/10/xml-exc-c14n#'/>
</ds:Transforms>
<ds:DigestMethod Algorithm='http://www.w3.org/2000/09/xmldsig#sha1'/>
<ds:DigestValue>qyQM1TDoJZqy8J02SXAHmTmEuhU=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
FWKp8w6TxKe6asQ7EU8zbvMp1IzCst/ykTurVVYfat3d8thBIBl/809E+Ivb+8YMZzI+M2wr7kV4 r857GbyXgMd8jjtrPSne007Up2H2CE/ivXnhyZL7MDXV4h4snyYAv8gxq0M0MhU5RO0lLBgjDD58 lF1zWKYoVcU6qTuMTdhNZiQV70EKQT8X8dQ1l4Z0WY0Q1ZkGKS6JXRQ53b6qvB4pVdWKK1TNw2U5 3KjesTGkgBzBDL9XA2guWkbBI7CAIUdFV9XK0XX2FNXiR0bREmsnLmVcKh6RqyfZuc1Be1zwUuyv 4gPS241e9YZC87O/aOtlOWlr9VYt4PwzmdNf9q7ZdVbMxE4LC7PpuXfoTYjGqJmRcmKYBX550C/N jhKXHxTmZx4UIZ3skS2tZ8NqqUEkBEoXL1gBR5YDGL23KzX9fSKuaVuDti8kDhuMkCb6kmaws3WG ZTXIM5yTBwBz7carHuilrzJ7tjnwZhIuJBn+xe0anIT7ew7W6aKIkW6reqhs+d5++vM1Lai9sm7v j2RrHBMMK2mSGDkO/co0Wg6VhW1BcxmCr7JA8EI4qBtJBYIc6fWUaSpVIiTGcHhjqL6x37VwQhI1 XSBR41S0qaxbMcGyQTOjnJwia+j/Qy9O3outU+2v4QkX/sga+/k9szcTyCkjyq5DGVqbCBLu+6w=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
mIBtBC/P6zVre6LS51aZ7UbtGWssCAHVrdJY4dlfz4061pJD1a1u5+DhdcWB50w+AxVVQes+2/JO tV4o8sqPLWNL3KlW7pTF5MxEpXC1lceUlVTiVV7J3ckjWxggwe6nliUaWGvW/m32xoQEIP3Du1Sn qkab+8LLPmeZXrwTYgIuue8PTCIVDHxOAktCOWzaB9IWZ3rQXWdtKFIfIMGToD6T9Eb9hHYqrvdC PHXdXYtDeR9kMPb7tJnomZhkgHQEEIeHNxjS7LToz4WCbOz2f5N7O9kdvi2U38Ogvdbz6sjjOY18 ILSlCqbcVTUtV+Cc7+v8zH2t24vpfDeYFtcgRWD8Lg9DUgRW8ua8M95jiK+vucXhk3bUg1b5X6pF TFFo6E6on6l+KaJ5otm7MAclhsjfzhGlF/C0rUko9jiLmK74Cxq4FaO+MZFKw50Qjk6Rl4crkNgB F2S5rUYkHmwMEOVwpSds8WY8hjd0er3+WBow0jIWhbnKRSCeWIpJlnCAn1o09pPv2GBYurshhY/o /v9AMfcEzVZittdUTGP9LN0oJGTfd4/Wm45iIYwUXRE/d2S6NIbzllKbFwrIBF/IyJyUHsUdsMCY s0w1psoyzvwSSYKqegCh6Y12Pvib/WAZl3bmnqIiqwGP0+ijKLEBPXn1SKe7OIJM8MG4xLABr00=
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>
MIIHfjCCBWagAwIBAgIJAIVommiaVS8FMA0GCSqGSIb3DQEBBQUAMIHaMQswCQYDVQQGEwJVUzEN MAsGA1UECBMET2hpbzERMA8GA1UEBxMIQ29sdW1idXMxIjAgBgNVBAoTGVRoZSBPaGlvIFN0YXRl IFVuaXZlcnNpdHkxGjAYBgNVBAsTEU9mZmljZSBvZiB0aGUgQ0lPMS4wLAYDVQQDEyVXZWIgQXV0 aGVudGljYXRpb24gTWV0YWRhdGEgQXV0aG9yaXR5MTkwNwYJKoZIhvcNAQkBFip3ZWJhdXRoLWFk bWluQGxpc3RzLnNlcnZpY2Uub2hpby1zdGF0ZS5lZHUwHhcNMTIwNDMwMTc0MDU3WhcNMjMwNDEz MTc0MDU3WjCB2jELMAkGA1UEBhMCVVMxDTALBgNVBAgTBE9oaW8xETAPBgNVBAcTCENvbHVtYnVz MSIwIAYDVQQKExlUaGUgT2hpbyBTdGF0ZSBVbml2ZXJzaXR5MRowGAYDVQQLExFPZmZpY2Ugb2Yg dGhlIENJTzEuMCwGA1UEAxMlV2ViIEF1dGhlbnRpY2F0aW9uIE1ldGFkYXRhIEF1dGhvcml0eTE5 MDcGCSqGSIb3DQEJARYqd2ViYXV0aC1hZG1pbkBsaXN0cy5zZXJ2aWNlLm9oaW8tc3RhdGUuZWR1 MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmIBtBC/P6zVre6LS51aZ7UbtGWssCAHV rdJY4dlfz4061pJD1a1u5+DhdcWB50w+AxVVQes+2/JOtV4o8sqPLWNL3KlW7pTF5MxEpXC1lceU lVTiVV7J3ckjWxggwe6nliUaWGvW/m32xoQEIP3Du1Snqkab+8LLPmeZXrwTYgIuue8PTCIVDHxO AktCOWzaB9IWZ3rQXWdtKFIfIMGToD6T9Eb9hHYqrvdCPHXdXYtDeR9kMPb7tJnomZhkgHQEEIeH NxjS7LToz4WCbOz2f5N7O9kdvi2U38Ogvdbz6sjjOY18ILSlCqbcVTUtV+Cc7+v8zH2t24vpfDeY FtcgRWD8Lg9DUgRW8ua8M95jiK+vucXhk3bUg1b5X6pFTFFo6E6on6l+KaJ5otm7MAclhsjfzhGl F/C0rUko9jiLmK74Cxq4FaO+MZFKw50Qjk6Rl4crkNgBF2S5rUYkHmwMEOVwpSds8WY8hjd0er3+ WBow0jIWhbnKRSCeWIpJlnCAn1o09pPv2GBYurshhY/o/v9AMfcEzVZittdUTGP9LN0oJGTfd4/W m45iIYwUXRE/d2S6NIbzllKbFwrIBF/IyJyUHsUdsMCYs0w1psoyzvwSSYKqegCh6Y12Pvib/WAZ l3bmnqIiqwGP0+ijKLEBPXn1SKe7OIJM8MG4xLABr00CAwEAAaOCAUMwggE/MB0GA1UdDgQWBBRG DDE/n0btwJeSV4yJsLoAks2lsTCCAREGA1UdIwSCAQgwggEEgBRGDDE/n0btwJeSV4yJsLoAks2l saGB4KSB3TCB2jELMAkGA1UEBhMCVVMxDTALBgNVBAgTBE9oaW8xETAPBgNVBAcTCENvbHVtYnVz MSIwIAYDVQQKExlUaGUgT2hpbyBTdGF0ZSBVbml2ZXJzaXR5MRowGAYDVQQLExFPZmZpY2Ugb2Yg dGhlIENJTzEuMCwGA1UEAxMlV2ViIEF1dGhlbnRpY2F0aW9uIE1ldGFkYXRhIEF1dGhvcml0eTE5 MDcGCSqGSIb3DQEJARYqd2ViYXV0aC1hZG1pbkBsaXN0cy5zZXJ2aWNlLm9oaW8tc3RhdGUuZWR1 ggkAhWiaaJpVLwUwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAgEAUydAIVrhaEqfHEJ3fcJP NnFKXPOCtL215qqBkd7VEO3Q563khOPOlncQP67Jnr5dinOg8uj+mgD0PTOBAn4DLWliPV9BydzC PNjpgLklX3ra4msgfD8xwiyCwbz6Pm6Qf3rcqTX5MZRZ4665ciPYDG9cNt9h/lFIvHKxMHhfbUmB MVHX2eQis/L+kOWBiHNlE3+iqbAbBueVbxCaT9yb7dik93z6SYFa7rrLtZowuuj6fe4AyaacR6te O+zl0moVqwDxoOQd/3TuFXCzuHCjKO+GUaxuaVf7o0WQXPmPfkNFuWxAOS5clO5bpJ63q/52cIi/ 9AGBUG4gS7XLJrPweWd/h4XT0vsaf64LM4WCucCS37Sq/ScCL7Ncevl5XeY20O8Wi2eXEkOUpa7l 69HlXRQyClE1uY6cnY1p3xNfJLN84skaMr4qmGoq5aTUGXI9oN9ONb0mlDtSn8ukSUlH5eTkizaB AwkuwJ7d5aezLhmoK4T2ZG95aRA9TchG3Fp2o/E3LtW8gIVlqv7J25f1ehqGxJL4KHVCmAhmlLyb Z5D4YNdqxjWNU7+95JRILyTXDP8W5HLR7L55hVAZgmaqZg5+OlBDEh98quSyRZQnG8HKXNswikxi 3Gy9vxPlNEtuhkpLg+UJFUnLzih+hwgyFseEr7FAe4T2aTcCexeXB5c=
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<IDPSSODescriptor errorURL='https://webauth.service.ohio-state.edu/support.html' protocolSupportEnumeration='urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol'>
<Extensions>
<shibmd:Scope regexp='false'>osu.edu</shibmd:Scope>
<mdui:UIInfo xmlns:mdui='urn:oasis:names:tc:SAML:metadata:ui'>
<mdui:DisplayName xml:lang='en'>Ohio State University</mdui:DisplayName>
<mdui:InformationURL xml:lang='en'>
https://webauth.service.ohio-state.edu/support.html
</mdui:InformationURL>
<mdui:PrivacyStatementURL xml:lang='en'>http://ocio.osu.edu/policy/policies</mdui:PrivacyStatementURL>
<mdui:Logo height='83' width='83' xml:lang='en'>
https://webauth.service.ohio-state.edu/images/osu_mdui.png
</mdui:Logo>
</mdui:UIInfo>
</Extensions>
<KeyDescriptor use='signing'>
<ds:KeyInfo>
<ds:X509Data>
<!--
Serial No. 12375483969372239368, expires on Mon Feb 4 20:07:37 2030 GMT
-->
<ds:X509Certificate>
MIIDITCCAgmgAwIBAgIJAKu+jRod+TYIMA0GCSqGSIb3DQEBBQUAMCkxJzAlBgNV BAMTHndlYmF1dGguc2VydmljZS5vaGlvLXN0YXRlLmVkdTAeFw0xMDAyMDkyMDA3 MzdaFw0zMDAyMDQyMDA3MzdaMCkxJzAlBgNVBAMTHndlYmF1dGguc2VydmljZS5v aGlvLXN0YXRlLmVkdTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMpZ P+xV7kNCuuUtg4X8MTxTnS2TSU/tompvYjI0af4q7N5od7uzEqHBD9FMvh9bZ7GS CACX5yYjBYZCb59i0tstfpCsDBho2Wi497EjmaTw81EQ1AjM6EhRb/we0MLj0er8 8q+vnVC7Jb7DoStoNIEFoOTv8LvKldrrXVX3yHZR3bEVtvblZbGMSYtPdH/TYMDQ cmqkpzldfz9rQFDLSM8mqBqf56zmB8uzkZKhujTXOzb4STvaq7hhAnDwT3z9c00O XbDBWxd1CplgHwZvrbWxYxf5gTCaPvHuLY5WeA8Ky5SUZifO/szEDvEm8K0rHStK H/blQiX5fUQ6t3SfxbsCAwEAAaNMMEowKQYDVR0RBCIwIIIed2ViYXV0aC5zZXJ2 aWNlLm9oaW8tc3RhdGUuZWR1MB0GA1UdDgQWBBR70C49vjOa/Ikk86hkX998wqQt UDANBgkqhkiG9w0BAQUFAAOCAQEAlgMMaTIwrly4U896lUa92iif3bLGADPjc0Is 6a6k6RytjJm/r0lbtjCWW6zs1T6L7458Ow+57fyF0Oh/iXvj65m+dvCBWXnag7hN 1yMBJQMRpSjH7dLko7y0EJ/ZrKEYQwYnBGmCILvJB/MIj2eEkq2Z47uWpvrehJfb zsEeAbjNqw1V/AJN7E4paw8aYg8TXEXAdOvNL5h7KRQw8Ui0kCw2DeTTIXExSxZd bqw6ldfQD2fVYnLxDGTFqITCi1a9TidA4xCXD95F7uQaEao3O8ArZcyag62uiMtv i24RvCRvD/vsnUhI82pV/DK+2icz6UDtiiKrFNAmIiR14TanfA==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
<NameIDFormat>
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
</NameIDFormat>
<SingleSignOnService Binding='urn:mace:shibboleth:1.0:profiles:AuthnRequest' Location='https://webauth.service.ohio-state.edu/idp/profile/Shibboleth/SSO'/>
<SingleSignOnService Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' Location='https://webauth.service.ohio-state.edu/idp/profile/SAML2/POST/SSO'/>
<SingleSignOnService Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign' Location='https://webauth.service.ohio-state.edu/idp/profile/SAML2/POST-SimpleSign/SSO'/>
<SingleSignOnService Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' Location='https://webauth.service.ohio-state.edu/idp/profile/SAML2/Redirect/SSO'/>
<SingleSignOnService Binding='urn:oasis:names:tc:SAML:2.0:bindings:SOAP' Location='https://webauth.service.ohio-state.edu/idp/profile/SAML2/SOAP/ECP'/>
</IDPSSODescriptor>
<AttributeAuthorityDescriptor protocolSupportEnumeration='urn:oasis:names:tc:SAML:1.1:protocol'>
<Extensions>
<shibmd:Scope regexp='false'>osu.edu</shibmd:Scope>
</Extensions>
<KeyDescriptor use='signing'>
<ds:KeyInfo>
<ds:X509Data>
<!--
Serial No. 12375483969372239368, expires on Mon Feb 4 20:07:37 2030 GMT
-->
<ds:X509Certificate>
MIIDITCCAgmgAwIBAgIJAKu+jRod+TYIMA0GCSqGSIb3DQEBBQUAMCkxJzAlBgNV BAMTHndlYmF1dGguc2VydmljZS5vaGlvLXN0YXRlLmVkdTAeFw0xMDAyMDkyMDA3 MzdaFw0zMDAyMDQyMDA3MzdaMCkxJzAlBgNVBAMTHndlYmF1dGguc2VydmljZS5v aGlvLXN0YXRlLmVkdTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMpZ P+xV7kNCuuUtg4X8MTxTnS2TSU/tompvYjI0af4q7N5od7uzEqHBD9FMvh9bZ7GS CACX5yYjBYZCb59i0tstfpCsDBho2Wi497EjmaTw81EQ1AjM6EhRb/we0MLj0er8 8q+vnVC7Jb7DoStoNIEFoOTv8LvKldrrXVX3yHZR3bEVtvblZbGMSYtPdH/TYMDQ cmqkpzldfz9rQFDLSM8mqBqf56zmB8uzkZKhujTXOzb4STvaq7hhAnDwT3z9c00O XbDBWxd1CplgHwZvrbWxYxf5gTCaPvHuLY5WeA8Ky5SUZifO/szEDvEm8K0rHStK H/blQiX5fUQ6t3SfxbsCAwEAAaNMMEowKQYDVR0RBCIwIIIed2ViYXV0aC5zZXJ2 aWNlLm9oaW8tc3RhdGUuZWR1MB0GA1UdDgQWBBR70C49vjOa/Ikk86hkX998wqQt UDANBgkqhkiG9w0BAQUFAAOCAQEAlgMMaTIwrly4U896lUa92iif3bLGADPjc0Is 6a6k6RytjJm/r0lbtjCWW6zs1T6L7458Ow+57fyF0Oh/iXvj65m+dvCBWXnag7hN 1yMBJQMRpSjH7dLko7y0EJ/ZrKEYQwYnBGmCILvJB/MIj2eEkq2Z47uWpvrehJfb zsEeAbjNqw1V/AJN7E4paw8aYg8TXEXAdOvNL5h7KRQw8Ui0kCw2DeTTIXExSxZd bqw6ldfQD2fVYnLxDGTFqITCi1a9TidA4xCXD95F7uQaEao3O8ArZcyag62uiMtv i24RvCRvD/vsnUhI82pV/DK+2icz6UDtiiKrFNAmIiR14TanfA==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<AttributeService Binding='urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding' Location='https://webauth.service.ohio-state.edu:8443/idp/profile/SAML1/SOAP/AttributeQuery'/>
</AttributeAuthorityDescriptor>
<Organization>
<OrganizationName xml:lang='en'>The Ohio State University</OrganizationName>
<OrganizationDisplayName xml:lang='en'>Ohio State University</OrganizationDisplayName>
<OrganizationURL xml:lang='en'>http://www.osu.edu/</OrganizationURL>
</Organization>
<ContactPerson contactType='technical'>
<GivenName>Authentication Support</GivenName>
<EmailAddress>webauth-admin@lists.service.ohio-state.edu</EmailAddress>
</ContactPerson>
<ContactPerson contactType='support'>
<GivenName>IT Service Desk</GivenName>
<EmailAddress>8help@osu.edu</EmailAddress>
</ContactPerson>
<ContactPerson contactType='administrative'>
<GivenName>Authentication Support</GivenName>
<EmailAddress>webauth-admin@lists.service.ohio-state.edu</EmailAddress>
</ContactPerson>
</EntityDescriptor>"
@response = Net::HTTP.start(url.host, url.port, :use_ssl => url.scheme == 'https') {|http| http.request(request)}
end
@response
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment