jsonld signature issue (library is using sha1, spec requires sha256)

This commit is contained in:
zotlabs 2018-09-26 16:39:08 -07:00
parent d83fe9d417
commit 5cc19ce053

View File

@ -4301,7 +4301,7 @@ class JsonLdProcessor {
sort($nquads);
// cache and return hashed quads
$hash = $bnodes->{$id}->hash = sha1(implode($nquads));
$hash = $bnodes->{$id}->hash = hash('sha256',implode($nquads));
return $hash;
}
@ -4320,8 +4320,8 @@ class JsonLdProcessor {
* @return stdClass the hash and path namer used.
*/
protected function _hashPaths($id, $bnodes, $namer, $path_namer) {
// create SHA-1 digest
$md = hash_init('sha1');
// create digest
$md = hash_init('sha256');
// group adjacent bnodes by hash, keep properties and references separate
$groups = new stdClass();
@ -4350,7 +4350,7 @@ class JsonLdProcessor {
}
// hash direction, property, and bnode name/hash
$group_md = hash_init('sha1');
$group_md = hash_init('sha256');
hash_update($group_md, $direction);
hash_update($group_md, $quad->predicate->value);
hash_update($group_md, $name);
@ -4433,7 +4433,7 @@ class JsonLdProcessor {
$path_namer = $chosen_namer;
}
// return SHA-1 hash and path namer
// return hash and path namer
return (object)array(
'hash' => hash_final($md), 'pathNamer' => $path_namer);
}