Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
nckroy committed Oct 28, 2020
1 parent 754766b commit 5e52a1c
Show file tree
Hide file tree
Showing 19 changed files with 2,497 additions and 0 deletions.
121 changes: 121 additions & 0 deletions schemas/credentials.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:mace:shibboleth:credentials:1.0"
xmlns:credentials="urn:mace:shibboleth:credentials:1.0"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
schemaLocation="xmldsig-core-schema.xsd"/>
<xs:element name="Credentials">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="KeyStoreResolver"
type="credentials:KeyStoreResolverType"/>
<xs:element name="FileResolver"
type="credentials:FileResolverType"/>
<xs:element name="CustomResolver"
type="credentials:CustomResolverType"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element name="Credential">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="KeyStoreResolver"
type="credentials:KeyStoreResolverType"/>
<xs:element name="FileResolver"
type="credentials:FileResolverType"/>
<xs:element name="CustomResolver"
type="credentials:CustomResolverType"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="FormatType">
<xs:restriction base="xs:string">
<xs:enumeration value="PEM"/>
<xs:enumeration value="DER"/>
<xs:enumeration value="PKCS12"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BaseCredentialFinder">
<xs:attribute name="Id" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="KeyStoreResolverType">
<xs:annotation>
<xs:documentation>Pulls credentials from a Java
keystore.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="credentials:BaseCredentialFinder">
<xs:sequence>
<xs:element name="Path" type="xs:string"/>
<xs:element name="KeyAlias" type="xs:string"/>
<xs:element name="CertAlias" type="xs:string"
minOccurs="0"/>
<xs:element name="StorePassword" type="xs:string"/>
<xs:element name="KeyPassword" type="xs:string"
minOccurs="0"/>
</xs:sequence>
<xs:attribute name="storeType" type="xs:string" use="optional"
default="JKS"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name ="FileResolverType">
<xs:annotation>
<xs:documentation>Pulls credentials from files.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="credentials:BaseCredentialFinder">
<xs:sequence>
<xs:element name="Key" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Path" type="xs:string"/>
</xs:sequence>
<xs:attribute name="format"
type="credentials:FormatType" use="optional"
default="PEM"/>
<xs:attribute name="password" type="xs:string"
use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Certificate" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Path" type="xs:string"/>
<xs:element name="CAPath" type="xs:string"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="format"
type="credentials:FormatType" use="optional"
default="PEM"/>
<xs:attribute name="password" type="xs:string"
use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CustomResolverType">
<xs:annotation>
<xs:documentation>Allows for specification of a Java class that
loads credentials from a custom storage mechanism.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="credentials:BaseCredentialFinder">
<xs:sequence>
<xs:any namespace="##any" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" type="xs:string" use="required"/>
<xs:anyAttribute namespace="##any"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
26 changes: 26 additions & 0 deletions schemas/incommon-metadata.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://id.incommon.org/metadata"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
blockDefault="substitution"
version="2.0">

<xs:annotation>
<xs:documentation>
Document title: Schema for InCommon Federation metadata extensions
Document identifier: Metadata Extension Schema
Location: https://spaces.internet2.edu/x/iIuVAQ
Revision history:
V1.2 (3 May 2013):
Make schema itself schema-valid.
V1.1 (2 May 2013):
Added documentation and explicit namespace prefix.
V1.0 (2 December 2011):
Initial version. Added contactType attribute.
</xs:documentation>
</xs:annotation>

<xs:attribute name="contactType" type="xs:anyURI"/>
</xs:schema>
79 changes: 79 additions & 0 deletions schemas/saml-metadata-rpi-v1.0.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>

<!--
SAML V2.0 Metadata Extensions for Registration and Publication Information Version 1.0
Committee Specification 01
03 April 2012
Copyright (c) OASIS Open 2012. All rights reserved.
Source: http://docs.oasis-open.org/security/saml/Post2.0/saml-metadata-rpi/v1.0/cs01/xsd/
-->

<schema targetNamespace="urn:oasis:names:tc:SAML:metadata:rpi"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
blockDefault="substitution"
version="1.0">

<annotation>
<documentation>
Document title: SAML V2.0 Metadata Extensions for Registration and Publication Information Version 1.0
Document identifier: sstc-saml-metadata-rpi-v1.0.xsd
Location: http://docs.oasis-open.org/security/saml/Post2.0/
Revision history:
21 March 2011
Correct minOccurs on elements that were meant to be optional
17 December 2010
Change of document title and namespace
24 November 2010
Initial Submission
</documentation>
</annotation>

<import namespace="urn:oasis:names:tc:SAML:2.0:metadata" schemaLocation="saml-schema-metadata-2.0.xsd"/>
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>

<element name="RegistrationInfo" type="mdrpi:RegistrationInfoType" />
<complexType name="RegistrationInfoType">
<sequence>
<element ref="mdrpi:RegistrationPolicy" minOccurs="0" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="registrationAuthority" type="string" use="required"/>
<attribute name="registrationInstant" type="dateTime" />
<anyAttribute namespace="##other" processContents="lax" />
</complexType>

<element name="RegistrationPolicy" type="md:localizedURIType" />

<element name="PublicationInfo" type="mdrpi:PublicationInfoType" />
<complexType name="PublicationInfoType">
<sequence>
<element ref="mdrpi:UsagePolicy" minOccurs="0" maxOccurs="unbounded"/>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="publisher" type="string" use="required" />
<attribute name="creationInstant" type="dateTime" />
<attribute name="publicationId" type="string" />
<anyAttribute namespace="##other" processContents="lax" />
</complexType>

<element name="UsagePolicy" type="md:localizedURIType" />

<element name="PublicationPath" type="mdrpi:PublicationPathType" />
<complexType name="PublicationPathType">
<sequence>
<element ref="mdrpi:Publication" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>

<element name="Publication" type="mdrpi:PublicationType" />
<complexType name="PublicationType">
<attribute name="publisher" type="string" use="required" />
<attribute name="creationInstant" type="dateTime" />
<attribute name="publicationId" type="string" />
</complexType>

</schema>
Loading

0 comments on commit 5e52a1c

Please sign in to comment.