/var/www/hkosl.com/littleark/webadmin/libraies/paragonie/random_compat/other/build_phar.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
$dist 
dirname(__DIR__).'/dist';
if (!
is_dir($dist)) {
    
mkdir($dist0755);
}
if (
file_exists($dist.'/random_compat.phar')) {
    
unlink($dist.'/random_compat.phar');
}
$phar = new Phar(
    
$dist.'/random_compat.phar',
    
FilesystemIterator::CURRENT_AS_FILEINFO | \FilesystemIterator::KEY_AS_FILENAME,
    
'random_compat.phar'
);
rename(
    
dirname(__DIR__).'/lib/random.php'
    
dirname(__DIR__).'/lib/index.php'
);
$phar->buildFromDirectory(dirname(__DIR__).'/lib');
rename(
    
dirname(__DIR__).'/lib/index.php'
    
dirname(__DIR__).'/lib/random.php'
);

/**
 * If we pass an (optional) path to a private key as a second argument, we will
 * sign the Phar with OpenSSL.
 * 
 * If you leave this out, it will produce an unsigned .phar!
 */
if ($argc 1) {
    if (!@
is_readable($argv[1])) {
        echo 
'Could not read the private key file:'$argv[1], "\n";
        exit(
255);
    }
    
$pkeyFile file_get_contents($argv[1]);
    
    
$private openssl_get_privatekey($pkeyFile);
    if (
$private !== false) {
        
$pkey '';
        
openssl_pkey_export($private$pkey);
        
$phar->setSignatureAlgorithm(Phar::OPENSSL$pkey);
        
        
/**
         * Save the corresponding public key to the file
         */
        
if (!@is_readable($dist.'/random_compat.phar.pubkey')) {
            
$details openssl_pkey_get_details($private);
            
file_put_contents(
                
$dist.'/random_compat.phar.pubkey',
                
$details['key']
            );
        }
    } else {
        echo 
'An error occurred reading the private key from OpenSSL.'"\n";
        exit(
255);
    }
}