35 lines
		
	
	
	
		
			661 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			661 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
require_once('library/asn1.php');
 | 
						|
 | 
						|
function modexp_init(App $a) {
 | 
						|
 | 
						|
	if($a->argc != 2)
 | 
						|
		killme();
 | 
						|
 | 
						|
	$nick = $a->argv[1];
 | 
						|
	$r = q("SELECT `spubkey` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
 | 
						|
			dbesc($nick)
 | 
						|
	);
 | 
						|
 | 
						|
	if (! dbm::is_result($r)) {
 | 
						|
		killme();
 | 
						|
	}
 | 
						|
 | 
						|
	$lines = explode("\n",$r[0]['spubkey']);
 | 
						|
	unset($lines[0]);
 | 
						|
	unset($lines[count($lines)]);
 | 
						|
	$x = base64_decode(implode('',$lines));
 | 
						|
 | 
						|
	$r = ASN_BASE::parseASNString($x);
 | 
						|
 | 
						|
	$m = $r[0]->asnData[1]->asnData[0]->asnData[0]->asnData;
 | 
						|
	$e = $r[0]->asnData[1]->asnData[0]->asnData[1]->asnData;
 | 
						|
 | 
						|
	header("Content-type: application/magic-public-key");
 | 
						|
	echo 'RSA' . '.' . $m . '.' . $e ;
 | 
						|
 | 
						|
	killme();
 | 
						|
 | 
						|
}
 | 
						|
 |