mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-11-19 19:55:11 +00:00
Merge branch 'moosa-1.0' into moosa-2.0
This commit is contained in:
commit
ac00565072
@ -235,7 +235,7 @@ class ASN1
|
|||||||
$current = array('start' => $start);
|
$current = array('start' => $start);
|
||||||
|
|
||||||
$type = ord($encoded[$encoded_pos++]);
|
$type = ord($encoded[$encoded_pos++]);
|
||||||
$start++;
|
$startOffset = 1;
|
||||||
|
|
||||||
$constructed = ($type >> 5) & 1;
|
$constructed = ($type >> 5) & 1;
|
||||||
|
|
||||||
@ -245,13 +245,20 @@ class ASN1
|
|||||||
// process septets (since the eighth bit is ignored, it's not an octet)
|
// process septets (since the eighth bit is ignored, it's not an octet)
|
||||||
do {
|
do {
|
||||||
$temp = ord($encoded[$encoded_pos++]);
|
$temp = ord($encoded[$encoded_pos++]);
|
||||||
|
$startOffset++;
|
||||||
$loop = $temp >> 7;
|
$loop = $temp >> 7;
|
||||||
$tag <<= 7;
|
$tag <<= 7;
|
||||||
$tag |= $temp & 0x7F;
|
$temp &= 0x7F;
|
||||||
$start++;
|
// "bits 7 to 1 of the first subsequent octet shall not all be zero"
|
||||||
|
if ($startOffset == 2 && $temp == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$tag |= $temp;
|
||||||
} while ($loop);
|
} while ($loop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$start+= $startOffset;
|
||||||
|
|
||||||
// Length, as discussed in paragraph 8.1.3 of X.690-0207.pdf#page=13
|
// Length, as discussed in paragraph 8.1.3 of X.690-0207.pdf#page=13
|
||||||
$length = ord($encoded[$encoded_pos++]);
|
$length = ord($encoded[$encoded_pos++]);
|
||||||
$start++;
|
$start++;
|
||||||
|
Loading…
Reference in New Issue
Block a user