$token->addIDPKey($idp_key); $token->addSTSCertificate(''); $claims = $token->process($_POST['xmlToken']); if ($claims->isValid() && $claims->privatepersonalidentifier != NULL) { $ppid = $claims->privatepersonalidentifier; SimpleSAML_Logger::debug("PPID = {$ppid}"); $ICconfig['InfoCard'] = $Infocard; $ICconfig['InfoCard']['issuer'] = $autoconfig->getValue('tokenserviceurl'); //sspmod_InfoCard_Utils::getIssuer($sts_crt); $ICconfig['tokenserviceurl'] = $autoconfig->getValue('tokenserviceurl'); $ICconfig['mexurl'] = $autoconfig->getValue('mexurl'); $ICconfig['sts_key'] = $autoconfig->getValue('sts_key'); $ICconfig['certificates'] = $autoconfig->getValue('certificates'); $ICconfig['UserCredential'] = $autoconfig->getValue('UserCredential'); $ICdata = sspmod_InfoCard_UserFunctions::fillICdata($username, $userCredential, $ppid); $IC = sspmod_InfoCard_STS::createCard($ICdata, $ICconfig); header('Content-Disposition: attachment; filename="' . $ICdata['CardName'] . '.crd"'); header('Content-Type: application/x-informationcard'); header('Content-Length:' . strlen($IC)); echo $IC; $state = 'end'; } else { SimpleSAML_Logger::debug('Wrong Self-Issued card'); $error = 'wrong_IC'; $state = "selfIssued"; } } else { SimpleSAML_Logger::debug('NO HAY XML TOKEN'); $error = NULL; $state = "selfIssued"; }