我有一个证书(.cer),我必须阅读证书的基本信息,例如到期日期。
我在 php 中写了这段代码
class FirmaElectronica {
public function abrirCertificado( $path ){
$cert_content = file_get_contents( $path );
$res = openssl_x509_read( $cert_content );
$data = openssl_x509_parse( $res );
var_dump( $data );
}
}
$firma = new FirmaElectronica();
$firma->abrirCertificado('gohl881206rga.cer');
Run Code Online (Sandbox Code Playgroud)
但总是收到此警告和空数据数组
PHP Warning: openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate!
Run Code Online (Sandbox Code Playgroud)
如果我执行此命令,我会获取所有证书数据
openssl x509 -in gohl881206rga.cer -noout -text -inform der
Run Code Online (Sandbox Code Playgroud)
用php获取证书数据的正确方法是什么?
我试图在方案中创建一个简单的函数,找到列表中的最大数字.
这是我的代码:
(define (maximo lista maximo_actual)
(if (= lista ())
maximo_actual
(let* ((primero maximo_actual)
(segundo (car lista)))
(if (> primero segundo)
((maximo (cdr lista) primero))
((maximo (cdr lista) segundo))))))
Run Code Online (Sandbox Code Playgroud)
我用这个调用函数:
(maximo (list 6 3 2 8 9) 5)
Run Code Online (Sandbox Code Playgroud)
程序返回:
;ERROR: "programas.scm": =: Wrong type in arg1 (6 3 2 8 9)
; in expression: (#@= #@lista ())
; in scope:
; (lista maximo_actual) procedure maximo
; defined by load: "programas.scm"
Run Code Online (Sandbox Code Playgroud)
我认为参数有问题.我正在学习计划,我不知道问题出在哪里.