for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the LightSAML-Core package.
*
* (c) Milos Tomic <[email protected]>
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace LightSaml\Credential;
use RobRichards\XMLSecLibs\XMLSecurityKey;
class X509Credential extends AbstractCredential implements X509CredentialInterface
{
/** @var X509Certificate */
protected $certificate;
/**
* @param X509Certificate $certificate
* @param XMLSecurityKey $privateKey
public function __construct(X509Certificate $certificate, XMLSecurityKey $privateKey = null)
parent::__construct();
$this->certificate = $certificate;
$this->setPublicKey(KeyHelper::createPublicKey($certificate));
$this->setKeyNames(array($this->getCertificate()->getName()));
array($this->getCertificate()->getName())
array<integer,string,{"0":"string"}>
array<integer,object<string>>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
if ($privateKey) {
$this->setPrivateKey($privateKey);
}
* @return X509Certificate
public function getCertificate()
return $this->certificate;
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: