pkcs1 to pkcs8 key conversion - this is a lot easier than parsing ASN.1 DER formats and rebuilding the darn things like we used to do. Check for illegal hex encoded album names in mod/photo so we don't throw php errors. Don't know where they come from but we get a lot of them.

This commit is contained in:
friendica 2014-08-14 23:05:19 -07:00
parent 21adbad4c1
commit 1978500e8f
2 changed files with 29 additions and 0 deletions

View File

@ -127,3 +127,27 @@ function new_keypair($bits) {
}
function pkcs1to8($oldkey) {
if(strstr($oldkey,'BEGIN PUBLIC'))
return $oldkey;
$oldkey = str_replace('-----BEGIN RSA PUBLIC KEY-----', '', $oldkey);
$oldkey = trim(str_replace('-----END RSA PUBLIC KEY-----', '', $oldkey));
$key = 'MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A' . str_replace("\n", '', $oldkey);
$key = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($key, 64, "\n", true) . "\n-----END PUBLIC KEY-----";
return $key;
}
function pkcs8to1($oldkey) {
if(strstr($oldkey,'BEGIN RSA'))
return $oldkey;
$oldkey = str_replace('-----BEGIN PUBLIC KEY-----', '', $oldkey);
$oldkey = trim(str_replace('-----END PUBLIC KEY-----', '', $oldkey));
$key = str_replace("\n",'',$oldkey);
$key = substr($key,32);
$key = "-----BEGIN RSA PUBLIC KEY-----\n" . wordwrap($key, 64, "\n", true) . "\n-----END RSA PUBLIC KEY-----";
return $key;
}

View File

@ -618,6 +618,11 @@ function photos_content(&$a) {
if($datatype === 'album') {
if((strlen($datum) & 1) || (! ctype_xdigit($datum))) {
notice( t('Album name could not be decoded') . EOL);
$datum = '';
}
$album = hex2bin($datum);
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'