From 90c8e98d0512121fbf4d1f4cf8616bcbc2f349f9 Mon Sep 17 00:00:00 2001
From: Olav Morken <olav.morken@uninett.no>
Date: Mon, 20 Oct 2008 08:29:06 +0000
Subject: [PATCH] SAMLBuilder: use SimpleSAML_Utilities::loadPublicKey

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@928 44740490-163a-0410-bde0-09ae8108e29a
---
 lib/SimpleSAML/Metadata/SAMLBuilder.php | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/lib/SimpleSAML/Metadata/SAMLBuilder.php b/lib/SimpleSAML/Metadata/SAMLBuilder.php
index c963f5498..acd5a3bf8 100644
--- a/lib/SimpleSAML/Metadata/SAMLBuilder.php
+++ b/lib/SimpleSAML/Metadata/SAMLBuilder.php
@@ -360,21 +360,13 @@ class SimpleSAML_Metadata_SAMLBuilder {
 	private function addCertificate(DOMElement $ssoDesc, $metadata) {
 		assert('is_array($metadata)');
 
-		if (!array_key_exists('certificate', $metadata)) {
+		$certInfo = SimpleSAML_Utilities::loadPublicKey($metadata);
+		if ($certInfo === NULL || !array_key_exists('certData', $certInfo)) {
 			/* No certificate to add. */
 			return;
 		}
 
-		$globalConfig = SimpleSAML_Configuration::getInstance();
-
-		$certFile = $globalConfig->getPathValue('certdir') . $metadata['certificate'];
-		if (!file_exists($certFile)) {
-			throw new Exception('Could not find certificate file: ' . $certFile);
-		}
-
-		$certData = file_get_contents($certFile);
-		$certData = XMLSecurityDSig::get509XCert($certData, TRUE);
-
+		$certData = $certInfo['certData'];
 
 		$keyDescriptor = $this->createElement('KeyDescriptor');
 		$ssoDesc->appendChild($keyDescriptor);
-- 
GitLab