summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2010-12-14 13:05:46 +0100
committerLeif Johansson <leifj@sunet.se>2010-12-14 13:05:46 +0100
commit67d03db1de44d1a281b1efac89918a263db14539 (patch)
tree8efca950094c0396f55b182908740c6e2855f6b8
parentf610a5696357cc4235c430f684ee992a242e6922 (diff)
basic aggregator
-rwxr-xr-xscripts/aggregate.sh6
-rwxr-xr-xscripts/pull-and-verify.sh26
2 files changed, 32 insertions, 0 deletions
diff --git a/scripts/aggregate.sh b/scripts/aggregate.sh
new file mode 100755
index 00000000..b3c8c8e9
--- /dev/null
+++ b/scripts/aggregate.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+DIR=`pwd`
+
+$DIR/scripts/pull-and-verify.sh http://spaces.internet2.edu/Shibboleth.sso/Metadata $DIR/certs/spaces.internet2.edu.crt $1
+$DIR/scripts/pull-and-verify.sh 'https://kalmar2.org/simplesaml/module.php/aggregator/?id=kalmarcentral2&set=saml2&exclude=sweden&mimetype=application/xml' $DIR/certs/kalmar-signer.crt $1
diff --git a/scripts/pull-and-verify.sh b/scripts/pull-and-verify.sh
new file mode 100755
index 00000000..3035126e
--- /dev/null
+++ b/scripts/pull-and-verify.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+function die() {
+ echo $*
+ exit 1
+}
+
+URL=$1
+CERT=$2
+DIR=$3
+
+TMPF=`mktemp`
+wget --no-check-certificate -O$TMPF $URL || die "Unable to download $URL: $?"
+samlsign -c $CERT -f $TMPF || die "Unable to verify $URL with $CERT: $?"
+TMPD=`mktemp -d`
+xsltproc --stringparam output $TMPD xslt/import-metadata.xsl $TMPF || die "Unable to import metadata from $URL: $?"
+rsync -avz $TMPD/ $DIR
+(
+echo '?xml version="1.0"?>'
+echo "<EntitiesDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:xi=\"http://www.w3.org/2001/XInclude\" Name=\"http://md.swamid.se/md/$3.xml\">"
+for md in $3/*.xml; do
+ echo "<xi:include href=\"$md\"/>"
+done
+echo "</EntitiesDescriptor>"
+) > $3.mxml
+rm -rf $TMPF $TMPD