PHP开发者必备spatie/ssl-certificate API完全参考手册【免费下载链接】ssl-certificateA class to validate SSL certificates项目地址: https://gitcode.com/gh_mirrors/ss/ssl-certificatespatie/ssl-certificate 是一个功能强大的 PHP 类库能让开发者轻松查询和验证 SSL 证书属性。无论是检查证书有效期、获取颁发者信息还是验证域名覆盖范围这个工具都能提供简洁高效的解决方案是 PHP 开发者处理 SSL 证书相关任务的理想选择。快速入门安装与基础使用一键安装步骤通过 Composer 可以快速安装 spatie/ssl-certificatecomposer require spatie/ssl-certificate最快创建证书实例方法创建 SSL 证书实例有三种常用方式适用于不同场景use Spatie\SslCertificate\SslCertificate; // 从域名获取证书最常用 $certificate SslCertificate::createForHostName(example.com); // 从文件加载证书 $certificate SslCertificate::createFromFile(/path/to/certificate.pem); // 从字符串创建证书 $certificate SslCertificate::createFromString($pemString);核心功能 API 详解证书有效性检查检查证书是否过期$isExpired $certificate-isExpired(); // true/false验证证书当前是否有效// 基础有效性检查时间范围 $isValid $certificate-isValid(); // 验证证书是否对特定域名有效 $isValidForDomain $certificate-isValid(sub.example.com);检查证书在指定日期前是否有效use Carbon\Carbon; // 检查证书是否至少在7天后仍然有效 $willBeValid $certificate-isValidUntil(Carbon::now()-addDays(7));证书日期信息获取证书有效期天数$daysUntilExpiry $certificate-daysUntilExpirationDate(); // 剩余天数 $totalLifespan $certificate-lifespanInDays(); // 总有效天数获取证书时间戳$validFrom $certificate-validFromDate(); // Carbon实例 $expiresAt $certificate-expirationDate(); // Carbon实例 echo 证书生效时间: . $validFrom-format(Y-m-d H:i:s); echo 证书过期时间: . $expiresAt-format(Y-m-d H:i:s);证书主体信息获取证书域名信息$mainDomain $certificate-getDomain(); // 主域名 $allDomains $certificate-getDomains(); // 所有域名含SANs $additionalDomains $certificate-getAdditionalDomains(); // 额外域名检查证书是否包含特定域名$hasDomain $certificate-containsDomain(blog.example.com); // true/false获取颁发者与组织信息$issuer $certificate-getIssuer(); // 颁发机构如 Lets Encrypt Authority X3 $organization $certificate-getOrganization(); // 组织名称证书安全属性获取证书指纹$fingerprint $certificate-getFingerprint(); // 默认SHA1指纹 $sha256Fingerprint $certificate-getFingerprintSha256(); // SHA256指纹检查证书算法与密钥$signatureAlgorithm $certificate-getSignatureAlgorithm(); // 如 RSA-SHA256 $publicKeyAlgorithm $certificate-getPublicKeyAlgorithm(); // 如 RSA $keySize $certificate-getPublicKeySize(); // 密钥长度如 2048特殊证书类型检查$isSelfSigned $certificate-isSelfSigned(); // 是否自签名 $usesSha1 $certificate-usesSha1Hash(); // 是否使用SHA1哈希不安全 $isPreCertificate $certificate-isPreCertificate(); // 是否为预证书高级使用技巧自定义证书下载选项通过流畅接口配置证书下载参数$certificate SslCertificate::download() -usingPort(443) // 指定端口 -fromIpAddress(192.168.1.1) // 指定IP地址 -withSocketContextOptions([/* 上下文选项 */]) -forHost(example.com);处理无效证书下载过期或无效证书用于调试// 第三个参数设为false跳过证书验证 $invalidCertificate SslCertificate::createForHostName( expired.example.com, 30, // 超时时间秒 false // 不验证证书有效性 );证书数据序列化将证书信息转换为数组或JSON$array $certificate-toArray(); // 转换为数组 $json $certificate-getRawCertificateFieldsJson(); // 获取原始JSON异常处理该库定义了多个异常类位于src/Exceptions/目录主要包括InvalidUrl- 当提供的URL无效时抛出InvalidIpAddress- 当IP地址格式错误时抛出CouldNotDownloadCertificate- 证书下载失败时抛出含子异常使用示例try { $certificate SslCertificate::createForHostName(invalid-url); } catch (InvalidUrl $e) { echo 错误: . $e-getMessage(); }测试与验证项目提供了完整的测试套件位于tests/目录可通过以下命令运行composer test测试涵盖了证书解析、域名验证、日期计算等核心功能确保代码可靠性。总结spatie/ssl-certificate 为 PHP 开发者提供了一套直观、强大的 API 来处理 SSL 证书相关任务。无论是构建证书监控工具、实现域名验证功能还是进行安全审计这个库都能显著简化开发流程。通过本文介绍的方法你可以快速掌握其核心功能并将其灵活应用到实际项目中。想要深入了解更多细节可以查看项目源代码主要功能实现位于src/SslCertificate.php和src/Downloader.php文件中。【免费下载链接】ssl-certificateA class to validate SSL certificates项目地址: https://gitcode.com/gh_mirrors/ss/ssl-certificate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
PHP开发者必备:spatie/ssl-certificate API完全参考手册
PHP开发者必备spatie/ssl-certificate API完全参考手册【免费下载链接】ssl-certificateA class to validate SSL certificates项目地址: https://gitcode.com/gh_mirrors/ss/ssl-certificatespatie/ssl-certificate 是一个功能强大的 PHP 类库能让开发者轻松查询和验证 SSL 证书属性。无论是检查证书有效期、获取颁发者信息还是验证域名覆盖范围这个工具都能提供简洁高效的解决方案是 PHP 开发者处理 SSL 证书相关任务的理想选择。快速入门安装与基础使用一键安装步骤通过 Composer 可以快速安装 spatie/ssl-certificatecomposer require spatie/ssl-certificate最快创建证书实例方法创建 SSL 证书实例有三种常用方式适用于不同场景use Spatie\SslCertificate\SslCertificate; // 从域名获取证书最常用 $certificate SslCertificate::createForHostName(example.com); // 从文件加载证书 $certificate SslCertificate::createFromFile(/path/to/certificate.pem); // 从字符串创建证书 $certificate SslCertificate::createFromString($pemString);核心功能 API 详解证书有效性检查检查证书是否过期$isExpired $certificate-isExpired(); // true/false验证证书当前是否有效// 基础有效性检查时间范围 $isValid $certificate-isValid(); // 验证证书是否对特定域名有效 $isValidForDomain $certificate-isValid(sub.example.com);检查证书在指定日期前是否有效use Carbon\Carbon; // 检查证书是否至少在7天后仍然有效 $willBeValid $certificate-isValidUntil(Carbon::now()-addDays(7));证书日期信息获取证书有效期天数$daysUntilExpiry $certificate-daysUntilExpirationDate(); // 剩余天数 $totalLifespan $certificate-lifespanInDays(); // 总有效天数获取证书时间戳$validFrom $certificate-validFromDate(); // Carbon实例 $expiresAt $certificate-expirationDate(); // Carbon实例 echo 证书生效时间: . $validFrom-format(Y-m-d H:i:s); echo 证书过期时间: . $expiresAt-format(Y-m-d H:i:s);证书主体信息获取证书域名信息$mainDomain $certificate-getDomain(); // 主域名 $allDomains $certificate-getDomains(); // 所有域名含SANs $additionalDomains $certificate-getAdditionalDomains(); // 额外域名检查证书是否包含特定域名$hasDomain $certificate-containsDomain(blog.example.com); // true/false获取颁发者与组织信息$issuer $certificate-getIssuer(); // 颁发机构如 Lets Encrypt Authority X3 $organization $certificate-getOrganization(); // 组织名称证书安全属性获取证书指纹$fingerprint $certificate-getFingerprint(); // 默认SHA1指纹 $sha256Fingerprint $certificate-getFingerprintSha256(); // SHA256指纹检查证书算法与密钥$signatureAlgorithm $certificate-getSignatureAlgorithm(); // 如 RSA-SHA256 $publicKeyAlgorithm $certificate-getPublicKeyAlgorithm(); // 如 RSA $keySize $certificate-getPublicKeySize(); // 密钥长度如 2048特殊证书类型检查$isSelfSigned $certificate-isSelfSigned(); // 是否自签名 $usesSha1 $certificate-usesSha1Hash(); // 是否使用SHA1哈希不安全 $isPreCertificate $certificate-isPreCertificate(); // 是否为预证书高级使用技巧自定义证书下载选项通过流畅接口配置证书下载参数$certificate SslCertificate::download() -usingPort(443) // 指定端口 -fromIpAddress(192.168.1.1) // 指定IP地址 -withSocketContextOptions([/* 上下文选项 */]) -forHost(example.com);处理无效证书下载过期或无效证书用于调试// 第三个参数设为false跳过证书验证 $invalidCertificate SslCertificate::createForHostName( expired.example.com, 30, // 超时时间秒 false // 不验证证书有效性 );证书数据序列化将证书信息转换为数组或JSON$array $certificate-toArray(); // 转换为数组 $json $certificate-getRawCertificateFieldsJson(); // 获取原始JSON异常处理该库定义了多个异常类位于src/Exceptions/目录主要包括InvalidUrl- 当提供的URL无效时抛出InvalidIpAddress- 当IP地址格式错误时抛出CouldNotDownloadCertificate- 证书下载失败时抛出含子异常使用示例try { $certificate SslCertificate::createForHostName(invalid-url); } catch (InvalidUrl $e) { echo 错误: . $e-getMessage(); }测试与验证项目提供了完整的测试套件位于tests/目录可通过以下命令运行composer test测试涵盖了证书解析、域名验证、日期计算等核心功能确保代码可靠性。总结spatie/ssl-certificate 为 PHP 开发者提供了一套直观、强大的 API 来处理 SSL 证书相关任务。无论是构建证书监控工具、实现域名验证功能还是进行安全审计这个库都能显著简化开发流程。通过本文介绍的方法你可以快速掌握其核心功能并将其灵活应用到实际项目中。想要深入了解更多细节可以查看项目源代码主要功能实现位于src/SslCertificate.php和src/Downloader.php文件中。【免费下载链接】ssl-certificateA class to validate SSL certificates项目地址: https://gitcode.com/gh_mirrors/ss/ssl-certificate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考