canonicalize json

This commit is contained in:
Jimmy Zelinskie 2016-03-29 14:49:07 -04:00 committed by Jimmy Zelinskie
parent f406942984
commit 97ae800e6c
3 changed files with 36 additions and 16 deletions

View file

@ -5,7 +5,6 @@ import logging
import os
import string
from collections import OrderedDict
from datetime import datetime
from hashlib import sha256
from random import SystemRandom
@ -27,6 +26,7 @@ from endpoints.api import (ApiResource, nickname, resource, validate_json_reques
from endpoints.api.logs import get_logs, get_aggregate_logs
from data import model
from data.database import ServiceKeyApprovalType
from util import canonicalize
from util.useremails import send_confirmation_email, send_recovery_email
@ -543,9 +543,7 @@ class SuperUserServiceKeyManagement(ApiResource):
private_key = RSA.generate(2048)
jwk = RSAKey(key=private_key.publickey()).serialize()
canonical_jwk = OrderedDict(sorted(jwk.items()))
kid = sha256(json.dumps(canonical_jwk)).hexdigest()
kid = sha256(json.dumps(canonicalize(jwk), separators=(',', ':'))).hexdigest()
model.service_keys.create_service_key(body.get('name', ''), kid, body['service'], jwk,
metadata, expiration_date)