Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 20 40 60 80 100 Line Coverage (%) Cyclomatic Complexity Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils — Coverage: 85.5% | Lines: 256 | Complexity: 82 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient — Coverage: 83.0% | Lines: 135 | Complexity: 51 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient — Coverage: 79.8% | Lines: 109 | Complexity: 34 Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer — Coverage: 85.5% | Lines: 76 | Complexity: 20 Phpdftk\Pdf\Core\Interactive\Signature\CrlClient — Coverage: 68.1% | Lines: 47 | Complexity: 16 Phpdftk\Pdf\Core\Interactive\Signature\SignatureValue — Coverage: 100.0% | Lines: 39 | Complexity: 18 Phpdftk\Pdf\Core\Interactive\Signature\UR3TransformParams — Coverage: 100.0% | Lines: 18 | Complexity: 9 Phpdftk\Pdf\Core\Interactive\Signature\DocTimeStamp — Coverage: 91.7% | Lines: 12 | Complexity: 5 Phpdftk\Pdf\Core\Interactive\Signature\SignatureReference — Coverage: 90.9% | Lines: 11 | Complexity: 5 Phpdftk\Pdf\Core\Interactive\Signature\FieldMDPTransformParams — Coverage: 88.9% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\DocMDPTransformParams — Coverage: 100.0% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\IdentityTransformParams — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\TransformParams — Coverage: 100.0% | Lines: 3 | Complexity: 1

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 Line Coverage (%) Cyclomatic Complexity Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::extractCertsFromPkcs7Der — Coverage: 83.9% | Lines: 62 | Complexity: 11 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::buildChain — Coverage: 75.4% | Lines: 57 | Complexity: 24 Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::sign — Coverage: 86.5% | Lines: 37 | Complexity: 9 Phpdftk\Pdf\Core\Interactive\Signature\SignatureValue::toPdf — Coverage: 100.0% | Lines: 35 | Complexity: 16 Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::fetchCrl — Coverage: 56.2% | Lines: 32 | Complexity: 8 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::parseTimeStampResp — Coverage: 90.6% | Lines: 32 | Complexity: 10 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::sendRequest — Coverage: 82.8% | Lines: 29 | Complexity: 5 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::parseOcspResponse — Coverage: 96.4% | Lines: 28 | Complexity: 7 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::sendRequest — Coverage: 85.2% | Lines: 27 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::extractPublicKeyBits — Coverage: 100.0% | Lines: 25 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::createSelfSignedTestCredentials — Coverage: 85.7% | Lines: 21 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::extractSubjectDer — Coverage: 100.0% | Lines: 19 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\UR3TransformParams::toPdf — Coverage: 100.0% | Lines: 18 | Complexity: 9 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::buildOcspRequest — Coverage: 100.0% | Lines: 16 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getSerialNumberDer — Coverage: 73.3% | Lines: 15 | Complexity: 7 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::readDerLength — Coverage: 85.7% | Lines: 14 | Complexity: 6 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::readDerLength — Coverage: 35.7% | Lines: 14 | Complexity: 6 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::readDerLength — Coverage: 35.7% | Lines: 14 | Complexity: 6 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getCrlDistributionPointUrls — Coverage: 92.3% | Lines: 13 | Complexity: 7 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::buildTimeStampReq — Coverage: 100.0% | Lines: 13 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::expectTag — Coverage: 91.7% | Lines: 12 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::getCrl — Coverage: 100.0% | Lines: 11 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\DocTimeStamp::toPdf — Coverage: 90.9% | Lines: 11 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::extractDerFromSmime — Coverage: 81.8% | Lines: 11 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getOcspResponderUrl — Coverage: 80.0% | Lines: 10 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\SignatureReference::toPdf — Coverage: 90.0% | Lines: 10 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derInteger — Coverage: 100.0% | Lines: 10 | Complexity: 5 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::dnToString — Coverage: 75.0% | Lines: 8 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\FieldMDPTransformParams::toPdf — Coverage: 85.7% | Lines: 7 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::getOcspResponse — Coverage: 71.4% | Lines: 7 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derLength — Coverage: 28.6% | Lines: 7 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::__construct — Coverage: 100.0% | Lines: 7 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derLength — Coverage: 28.6% | Lines: 7 | Complexity: 4 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::pemToDer — Coverage: 100.0% | Lines: 6 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::skipTlv — Coverage: 80.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\DocMDPTransformParams::toPdf — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::getOidBytes — Coverage: 100.0% | Lines: 5 | Complexity: 5 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::randomNonce — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\IdentityTransformParams::toPdf — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::certificateToPem — Coverage: 75.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\SignatureValue::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::timestamp — Coverage: 75.0% | Lines: 4 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::derToPem — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::ensurePem — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::assertHttpUrl — Coverage: 66.7% | Lines: 3 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::assertHttpUrl — Coverage: 66.7% | Lines: 3 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TransformParams::baseDictionary — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::assertHttpUrl — Coverage: 100.0% | Lines: 3 | Complexity: 3 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getIssuerNameHash — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getIssuerKeyHash — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\FieldMDPTransformParams::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\DocMDPTransformParams::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\DocTimeStamp::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derTlv — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derSequence — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derOid — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derNull — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derOctetString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derInteger — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\SignatureReference::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derTlv — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derSequence — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derOid — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derNull — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derOctetString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derBoolean — Coverage: 100.0% | Lines: 1 | Complexity: 2

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::buildChain32.5375.4%
Phpdftk\Pdf\Core\Interactive\Signature\SignatureValue::toPdf16100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::readDerLength15.5635.7%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::readDerLength15.5635.7%
Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::fetchCrl13.3656.2%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::extractCertsFromPkcs7Der11.5183.9%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::parseTimeStampResp10.0890.6%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derLength9.8328.6%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derLength9.8328.6%
Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::sign9.2086.5%
Phpdftk\Pdf\Core\Interactive\Signature\UR3TransformParams::toPdf9100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getSerialNumberDer7.9373.3%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getCrlDistributionPointUrls7.0292.3%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::parseOcspResponse796.4%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::readDerLength6.1085.7%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::sendRequest5.1382.8%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::getOidBytes5100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derInteger5100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::dnToString4.2575.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getOcspResponderUrl4.1380.0%
Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::extractDerFromSmime4.1081.8%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::sendRequest4.0585.2%
Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::createSelfSignedTestCredentials4.0585.7%
Phpdftk\Pdf\Core\Interactive\Signature\SignatureReference::toPdf4.0290.0%
Phpdftk\Pdf\Core\Interactive\Signature\DocTimeStamp::toPdf4.0190.9%
Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::getCrl4100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::assertHttpUrl3.3366.7%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::assertHttpUrl3.3366.7%
Phpdftk\Pdf\Core\Interactive\Signature\FieldMDPTransformParams::toPdf3.0385.7%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::expectTag3.0191.7%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::pemToDer3100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::extractSubjectDer3100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::extractPublicKeyBits3100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::assertHttpUrl3100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::getOcspResponse2.0971.4%
Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::certificateToPem2.0675.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::skipTlv2.0380.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::ensurePem2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\DocMDPTransformParams::toPdf2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\IdentityTransformParams::toPdf2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\SignatureValue::__construct2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::buildTimeStampReq2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derBoolean2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::randomNonce2100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::timestamp1.0275.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::derToPem1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getIssuerNameHash1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CertificateUtils::getIssuerKeyHash1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\CrlClient::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\DocMDPTransformParams::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\DocTimeStamp::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\FieldMDPTransformParams::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::buildOcspRequest1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derTlv1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derSequence1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derOid1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derNull1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derOctetString1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\OcspClient::derInteger1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\Pkcs7Signer::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\SignatureReference::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TransformParams::baseDictionary1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::__construct1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derTlv1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derSequence1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derOid1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derNull1100.0%
Phpdftk\Pdf\Core\Interactive\Signature\TsaClient::derOctetString1100.0%