小编Hom*_*der的帖子

'Z'在Unix时间戳'120314170138Z'中的含义是什么?

我有一个X.509证书,它有以下2个时间戳:

['validFrom'] = String(13) "120314165227Z"
['validTo']   = String(13) "130314165227Z"
Run Code Online (Sandbox Code Playgroud)

后缀字符'Z'是什么意思.它是否指定了时区?

timezone timestamp x509certificate unix-timestamp

140
推荐指数
3
解决办法
12万
查看次数

如何检查安装的OpenSSL版本是否> = 0.9.8k

我有一个PHP 5.x脚本,需要OpenSSL 0.9.8k或更高版本.

关于OpenSSL,我发现了以下两个相关常量:

OPENSSL_VERSION_TEXT (with value 'OpenSSL 1.0.0c 2 Dec 2010')
OPENSSL_VERSION_NUMBER (with value '268435519')
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道如何对这些值进行上述检查.

php openssl

6
推荐指数
2
解决办法
2万
查看次数

如何在PHP中获取字节序类型?

在C#中,我可以通过以下代码片段获得字节序类型:

if(BitConverter.IsLittleEndian)
{
   // little-endian is used   
}
else
{
   // big-endian is used
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在PHP中做同样的事情?

php binary endianness php-5.3

6
推荐指数
2
解决办法
4429
查看次数

无法连接到非阻塞套接字

这让我疯了.我必须在php 5.3中创建一个非常简单的非阻塞套接字脚本,其中客户端连接到服务器,都使用非阻塞套接字.

我已经尝试过phpsocketdaemonphp手册中的示例,但在这两种情况下,当我尝试连接到服务器时,我收到以下错误:

socket_connect() [function.socket-connect]: unable to connect [10035]:
A non-blocking socket operation could not be completed immediately
Run Code Online (Sandbox Code Playgroud)

发生错误的客户端脚本:

$service_port = 2002;
$address = '127.0.0.1';

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($socket); 
$result = socket_connect($socket, $address, $service_port);
...
Run Code Online (Sandbox Code Playgroud)

我在Win 7上使用Zend Server 5.6.0 SP1的免费版本.

有谁知道如何解决这个问题或知道一个简单易懂的非阻塞套接字客户端/服务器脚本的例子?

php sockets php-socket

3
推荐指数
1
解决办法
6839
查看次数

这段代码如何提取签名?

我必须从离开公司的开发人员那里调试一个旧的PHP脚本.我理解代码的大部分内容,除了以下函数.我的问题:什么......

if($ seq == 0x03 || $ seq == 0x30)

...是指从X.509证书中提取签名的上下文?

public function extractSignature($certPemString) {

    $bin = $this->ConvertPemToBinary($certPemString);

    if(empty($certPemString) || empty($bin))
    {
        return false;
    }    

    $bin = substr($bin,4);

    while(strlen($bin) > 1) 
    {            
        $seq = ord($bin[0]); 
        if($seq == 0x03 || $seq == 0x30) 
        {            
            $len = ord($bin[1]);
            $bytes = 0;

            if ($len & 0x80)
            {
                $bytes = ($len & 0x0f);
                $len = 0;
                for ($i = 0; $i < $bytes; $i++)
                {
                    $len = ($len << 8) | ord($bin[$i + 2]); …
Run Code Online (Sandbox Code Playgroud)

php certificate x509certificate x509

2
推荐指数
1
解决办法
718
查看次数