Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ResourceCaster.php

function ResourceCaster::castOpensslX509

File

vendor/symfony/var-dumper/Caster/ResourceCaster.php, line 66

Class

ResourceCaster
Casts common resource types to array representation.

Namespace

Symfony\Component\VarDumper\Caster

Code

public static function castOpensslX509($h, array $a, Stub $stub, bool $isNested) : array {
    $stub->cut = -1;
    $info = openssl_x509_parse($h, false);
    $pin = openssl_pkey_get_public($h);
    $pin = openssl_pkey_get_details($pin)['key'];
    $pin = \array_slice(explode("\n", $pin), 1, -2);
    $pin = base64_decode(implode('', $pin));
    $pin = base64_encode(hash('sha256', $pin, true));
    $a += [
        'subject' => new EnumStub(array_intersect_key($info['subject'], [
            'organizationName' => true,
            'commonName' => true,
        ])),
        'issuer' => new EnumStub(array_intersect_key($info['issuer'], [
            'organizationName' => true,
            'commonName' => true,
        ])),
        'expiry' => new ConstStub(date(\DateTimeInterface::ISO8601, $info['validTo_time_t']), $info['validTo_time_t']),
        'fingerprint' => new EnumStub([
            'md5' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'md5')), 2, ':', true)),
            'sha1' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha1')), 2, ':', true)),
            'sha256' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha256')), 2, ':', true)),
            'pin-sha256' => new ConstStub($pin),
        ]),
    ];
    return $a;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal