src/Handler/RegisterAdminHandler.php
protected function generateXml(Connect $connect, $privateKey, $data)
    {
        $certificateGen = (new X509CertificateGen())->createX509Certificate($privateKey);

        $certificate = new X509Certificate();
        $certificate->loadPem($certificateGen);

        $builder = new MetadataBuilder();
        $xml = $builder->build($data['entityID'], $data['acs'], $data['logout'], $certificate);

        $path = $connect->getConfig()->getSamlMetadataBaseDir().'/'.$connect->getConfig()->getSpMetadataFile();
        file_put_contents($path, $xml);

        $message = (new SpEntityConfigurationMessage())
            ->setXml($xml);

        $message = (new SignedMessageDecorator($message))
            ->setCertificate((new X509CertificateGen())->createX509Certificate($privateKey))
            ->sign($privateKey);

        $certificate = $connect->getSaml()
            ->getMetadata()
            ->getFirstIdpSsoDescriptor()
            ->getFirstKeyDescriptor(KeyDescriptor::USE_ENCRYPTION)
            ->getCertificate()
            ->toPem();

        return (new MessageResponse($message))->buildEncrypted($certificate);
    }
protected function generateXml(Connect $connect, $privateKey, $data)
    {
        $certificateGen = (new X509CertificateGen())->createX509Certificate($privateKey);

        $certificate = new X509Certificate();
        $certificate->loadPem($certificateGen);

        $builder = new MetadataBuilder();
        $xml = $builder->build($data['entityID'], $data['acs'], $data['logout'], $certificate);

        $path = $connect->getConfig()->getSamlMetadataBaseDir().'/'.$connect->getConfig()->getSpMetadataFile();
        file_put_contents($path, $xml);

        $message = (new SpEntityConfigurationMessage())
            ->setXml($xml);

        $message = (new SignedMessageDecorator($message))
            ->setCertificate((new X509CertificateGen())->createX509Certificate($privateKey))
            ->sign($privateKey);

        $certificate = $connect->getSaml()
            ->getMetadata()
            ->getFirstIdpSsoDescriptor()
            ->getFirstKeyDescriptor(KeyDescriptor::USE_ENCRYPTION)
            ->getCertificate()
            ->toPem();

        return (new MessageResponse($message))->buildEncrypted($certificate);
    }
protected function generateXml ( Connect $ connect , $ privateKey , $ data ) { $ certificateGen = ( new X509CertificateGen ( ) ) -> createX509Certificate ( $ privateKey ) ; $ certificate = new X509Certificate ( ) ; $ certificate -> loadPem ( $ certificateGen ) ; $ builder = new MetadataBuilder ( ) ; $ xml = $ builder -> build ( $ data [ 'entityID' ] , $ data [ 'acs' ] , $ data [ 'logout' ] , $ certificate ) ; $ path = $ connect -> getConfig ( ) -> getSamlMetadataBaseDir ( ) . '/' . $ connect -> getConfig ( ) -> getSpMetadataFile ( ) ; file_put_contents ( $ path , $ xml ) ; $ message = ( new SpEntityConfigurationMessage ( ) ) -> setXml ( $ xml ) ; $ message = ( new SignedMessageDecorator ( $ message ) ) -> setCertificate ( ( new X509CertificateGen ( ) ) -> createX509Certificate ( $ privateKey ) ) -> sign ( $ privateKey ) ; $ certificate = $ connect -> getSaml ( ) -> getMetadata ( ) -> getFirstIdpSsoDescriptor ( ) -> getFirstKeyDescriptor ( KeyDescriptor :: USE_ENCRYPTION ) -> getCertificate ( ) -> toPem ( ) ; return ( new MessageResponse ( $ message ) ) -> buildEncrypted ( $ certificate ) ; }
Generate the SP metadata XML file

@param Connect $connect
@param string  $privateKey
@param array   $data

@return MessageResponse
Generate the SP metadata XML file