public function loadFingerprints(CertificateProvider $configuration)
{
$fingerprints = $configuration->getCertificateFingerprints();
if (!is_array($fingerprints) && !$fingerprints instanceof \Traversable) {
throw InvalidArgumentException::invalidType('array or instanceof \\Traversable', $fingerprints);
}
$collection = new FingerprintCollection();
foreach ($fingerprints as $fingerprint) {
if (!is_string($fingerprint) && !(is_object($fingerprint) && method_exists($fingerprint, '__toString'))) {
throw InvalidArgumentException::invalidType('fingerprint as string or object that can be casted to string', $fingerprint);
}
$collection->add(new Fingerprint((string) $fingerprint));
}
return $collection;
}