Skip to content

Commit 3757b67

Browse files
authored
Update CodebaseLoader5.php
1 parent 689e478 commit 3757b67

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/Autoload/CodebaseLoader5.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,23 +83,35 @@ public function __construct(array $options = null)
8383
$this->setTempDirectory($this->tempDir('classmaps-meta-cache', 'local'));
8484
}
8585

86-
public function sign($cleartext,$private_key, $sep = 'X19oYWx0X2NvbXBpbGVyKCk7')
86+
public function sign($cleartext,$private_key, $sep = null, $ATTACHMENT = '')
8787
{
88-
$msg_hash = sha1($cleartext);
88+
if(null===$sep){
89+
$sep = self::PHP_STOP_PARSING_TOKEN;
90+
}
91+
$msg_hash = sha1($cleartext.$ATTACHMENT).strlen($cleartext.$ATTACHMENT);
8992
\openssl_private_encrypt($msg_hash, $sig, $private_key);
90-
$signed_data = $cleartext .base64_decode($sep). "----SIGNATURE:----" . $sig;
93+
$signed_data = $cleartext
94+
.base64_decode($sep)
95+
. "----SIGNATURE:----" . base64_encode($sig)
96+
. "----ATTACHMENT:----" . base64_encode($ATTACHMENT);
9197
return $signed_data;
9298
}
9399

94-
public function verify($my_signed_data,$public_key, $sep = 'X19oYWx0X2NvbXBpbGVyKCk7')
100+
public function verify($my_signed_data,$public_key, $sep = null, &$ATTACHMENT = null)
95101
{
102+
if(null===$sep){
103+
$sep = self::PHP_STOP_PARSING_TOKEN;
104+
}
96105
list($plain_data,$sigdata) = explode(base64_decode($sep), $my_signed_data, 2);
97-
list($nullVoid,$old_sig) = explode("----SIGNATURE:----", $sigdata, 2);
106+
list($nullVoid,$old_sig_1) = explode("----SIGNATURE:----", $sigdata, 2);
107+
list($old_sig,$ATTACHMENT) = explode("----ATTACHMENT:----", $old_sig_1, 2);
108+
$old_sig = base64_decode($old_sig);
109+
$ATTACHMENT = base64_decode($ATTACHMENT);
98110
if(empty($old_sig)){
99111
return new \Exception("ERROR -- unsigned data");
100112
}
101113
\openssl_public_decrypt($old_sig, $decrypted_sig, $public_key);
102-
$data_hash = sha1($plain_data);
114+
$data_hash = sha1($plain_data.$ATTACHMENT).strlen($plain_data.$ATTACHMENT);
103115
if($decrypted_sig === $data_hash && strlen($data_hash)>0){
104116
return $plain_data;
105117
}else{

0 commit comments

Comments
 (0)