-
Notifications
You must be signed in to change notification settings - Fork 20
Adds standard way of verifying and validating json object #29
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ive added some comments, please resolve them before we proceed.
@@ -6,16 +6,9 @@ | |||
"title": "Flight Log schema for Digital Sky", | |||
"description": "This is the flight log schema for digital sky flight logs. One file that follows this schema should be generated for every permission artefact", | |||
"required": [ | |||
"signature", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the signature removed? it was added in the schema, and is a mandatory attribute
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to me this signature should be removed since it is already present in the final jws body.
@@ -12,6 +12,9 @@ | |||
from Cryptodome.Signature import pkcs1_15 | |||
from lxml import etree | |||
|
|||
from authlib import jose | |||
import jsonschema |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a seperate method for jsonschema here -
NPNT-Provisional-testing-tool/helpers.py
Line 195 in 8f495a3
def check_log_schema(logfile, schemafile=LOG_SCHEMA): |
@@ -116,24 +119,26 @@ def verify_xml_signature(xml_file, certificate_path): | |||
|
|||
def verify_flight_log_signature_objs(log_object, public_key_obj): | |||
""" | |||
Verify the signature of the Flight log_object against a public key. | |||
Verify the signature of the Flight log_object against a public key |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Best to keep schema and signature verification seperate. see
NPNT-Provisional-testing-tool/helpers.py
Line 195 in 8f495a3
def check_log_schema(logfile, schemafile=LOG_SCHEMA): |
@@ -0,0 +1,9 @@ | |||
-----BEGIN PUBLIC KEY----- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we not use the public key already present in the sample? do we need another key?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does not seem like it is being used anywhere
@@ -0,0 +1 @@ | |||
{"protected":"eyJhbGciOiJSUzI1NiJ9","payload":"eyJGbGlnaHRMb2ciOnsiUGVybWlzc2lvbkFydGVmYWN0IjoiIiwicHJldmlvdXNfbG9nX2hhc2giOiJLbHNhWFJsNW16cVNUMVpNVkVoSkFZQU5lY1hmVjd0b3Q0ZklCXzBEU1NNIiwiTG9nRW50cmllcyI6W3siRW50cnlfdHlwZSI6IlRBS0VPRkYvQVJNIiwiVGltZVN0YW1wIjoxNTc1MDg5MTY2LCJMb25naXR1ZGUiOjc3LjYwOTk0NywiTGF0aXR1ZGUiOjEyLjkzNDA2MSwiQWx0aXR1ZGUiOjkxMi4wMjAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMDQsIkxvbmdpdHVkZSI6NzcuNjEwMjk4LCJMYXRpdHVkZSI6MTIuOTM0NTExLCJBbHRpdHVkZSI6OTIyLjAyMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIwNSwiTG9uZ2l0dWRlIjo3Ny42MTAzMjEsIkxhdGl0dWRlIjoxMi45MzQ1NDYsIkFsdGl0dWRlIjo5MjIuMDIwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjA2LCJMb25naXR1ZGUiOjc3LjYxMDM1MiwiTGF0aXR1ZGUiOjEyLjkzNDU4MywiQWx0aXR1ZGUiOjkyMi4wMjAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMDcsIkxvbmdpdHVkZSI6NzcuNjEwMzgyLCJMYXRpdHVkZSI6MTIuOTM0NjE4LCJBbHRpdHVkZSI6OTIyLjAyMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIwOCwiTG9uZ2l0dWRlIjo3Ny42MTA0MDUsIkxhdGl0dWRlIjoxMi45MzQ2NTIsIkFsdGl0dWRlIjo5MjIuMDIwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjA5LCJMb25naXR1ZGUiOjc3LjYxMDQzNSwiTGF0aXR1ZGUiOjEyLjkzNDY4OSwiQWx0aXR1ZGUiOjkyMi4wMjAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMTAsIkxvbmdpdHVkZSI6NzcuNjEwNDY2LCJMYXRpdHVkZSI6MTIuOTM0NzI0LCJBbHRpdHVkZSI6OTIyLjAyMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIxMSwiTG9uZ2l0dWRlIjo3Ny42MTA0ODksIkxhdGl0dWRlIjoxMi45MzQ3NjAsIkFsdGl0dWRlIjo5MjIuMDIwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjEyLCJMb25naXR1ZGUiOjc3LjYxMDUxMiwiTGF0aXR1ZGUiOjEyLjkzNDc5NSwiQWx0aXR1ZGUiOjkyMi4wMTAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMTMsIkxvbmdpdHVkZSI6NzcuNjEwNTUwLCJMYXRpdHVkZSI6MTIuOTM0ODMyLCJBbHRpdHVkZSI6OTIyLjAxMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIxNCwiTG9uZ2l0dWRlIjo3Ny42MTA1NzMsIkxhdGl0dWRlIjoxMi45MzQ4NjcsIkFsdGl0dWRlIjo5MjIuMDEwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjE1LCJMb25naXR1ZGUiOjc3LjYxMDYwMywiTGF0aXR1ZGUiOjEyLjkzNDkwMiwiQWx0aXR1ZGUiOjkyMi4wMTAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMTYsIkxvbmdpdHVkZSI6NzcuNjEwNjM0LCJMYXRpdHVkZSI6MTIuOTM0OTM4LCJBbHRpdHVkZSI6OTIyLjAxMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIxNywiTG9uZ2l0dWRlIjo3Ny42MTA2NTcsIkxhdGl0dWRlIjoxMi45MzQ5NzQsIkFsdGl0dWRlIjo5MjIuMDEwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjE4LCJMb25naXR1ZGUiOjc3LjYxMDY4MCwiTGF0aXR1ZGUiOjEyLjkzNTAwNiwiQWx0aXR1ZGUiOjkyMi4wMjAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMTksIkxvbmdpdHVkZSI6NzcuNjEwNzEwLCJMYXRpdHVkZSI6MTIuOTM1MDM1LCJBbHRpdHVkZSI6OTIyLjAyMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIyMCwiTG9uZ2l0dWRlIjo3Ny42MTA3MTgsIkxhdGl0dWRlIjoxMi45MzUwNTQsIkFsdGl0dWRlIjo5MjIuMDIwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjIxLCJMb25naXR1ZGUiOjc3LjYxMDcyNSwiTGF0aXR1ZGUiOjEyLjkzNTA2MSwiQWx0aXR1ZGUiOjkyMi4wNTAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMjIsIkxvbmdpdHVkZSI6NzcuNjEwNzI1LCJMYXRpdHVkZSI6MTIuOTM1MDYwLCJBbHRpdHVkZSI6OTIyLjc1MDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIyMywiTG9uZ2l0dWRlIjo3Ny42MTA3MjUsIkxhdGl0dWRlIjoxMi45MzUwNTgsIkFsdGl0dWRlIjo5MjQuMzYwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjI0LCJMb25naXR1ZGUiOjc3LjYxMDcyNSwiTGF0aXR1ZGUiOjEyLjkzNTA1OSwiQWx0aXR1ZGUiOjkyNi4wNzAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMjUsIkxvbmdpdHVkZSI6NzcuNjEwNzE4LCJMYXRpdHVkZSI6MTIuOTM1MDU2LCJBbHRpdHVkZSI6OTI2Ljc1MDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIyNiwiTG9uZ2l0dWRlIjo3Ny42MTA3MTAsIkxhdGl0dWRlIjoxMi45MzUwNDcsIkFsdGl0dWRlIjo5MjYuOTMwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjI3LCJMb25naXR1ZGUiOjc3LjYxMDcxMCwiTGF0aXR1ZGUiOjEyLjkzNTAzMiwiQWx0aXR1ZGUiOjkyNi45ODAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMjgsIkxvbmdpdHVkZSI6NzcuNjEwNjg3LCJMYXRpdHVkZSI6MTIuOTM1MDExLCJBbHRpdHVkZSI6OTI3LjAxMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIyOSwiTG9uZ2l0dWRlIjo3Ny42MTA2NzIsIkxhdGl0dWRlIjoxMi45MzQ5ODYsIkFsdGl0dWRlIjo5MjcuMDEwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjMwLCJMb25naXR1ZGUiOjc3LjYxMDY0MSwiTGF0aXR1ZGUiOjEyLjkzNDk1OCwiQWx0aXR1ZGUiOjkyNy4wMTAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMzEsIkxvbmdpdHVkZSI6NzcuNjEwNjI2LCJMYXRpdHVkZSI6MTIuOTM0OTI4LCJBbHRpdHVkZSI6OTI3LjAxMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIzMiwiTG9uZ2l0dWRlIjo3Ny42MTA1OTYsIkxhdGl0dWRlIjoxMi45MzQ4OTYsIkFsdGl0dWRlIjo5MjcuMDEwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjMzLCJMb25naXR1ZGUiOjc3LjYxMDU3MywiTGF0aXR1ZGUiOjEyLjkzNDg2NSwiQWx0aXR1ZGUiOjkyNy4wMTAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMzQsIkxvbmdpdHVkZSI6NzcuNjEwNTUwLCJMYXRpdHVkZSI6MTIuOTM0ODMyLCJBbHRpdHVkZSI6OTI3LjAxMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIzNSwiTG9uZ2l0dWRlIjo3Ny42MTA1MTksIkxhdGl0dWRlIjoxMi45MzQ3OTgsIkFsdGl0dWRlIjo5MjcuMDEwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjM2LCJMb25naXR1ZGUiOjc3LjYxMDQ4OSwiTGF0aXR1ZGUiOjEyLjkzNDc2NCwiQWx0aXR1ZGUiOjkyNy4wMTAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyMzcsIkxvbmdpdHVkZSI6NzcuNjEwNDY2LCJMYXRpdHVkZSI6MTIuOTM0NzMwLCJBbHRpdHVkZSI6OTI3LjAyMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTIzOCwiTG9uZ2l0dWRlIjo3Ny42MTA0MzUsIkxhdGl0dWRlIjoxMi45MzQ2OTUsIkFsdGl0dWRlIjo5MjcuMDIwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjM5LCJMb25naXR1ZGUiOjc3LjYxMDQxMywiTGF0aXR1ZGUiOjEyLjkzNDY2MCwiQWx0aXR1ZGUiOjkyNy4wMjAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyNDAsIkxvbmdpdHVkZSI6NzcuNjEwMzgyLCJMYXRpdHVkZSI6MTIuOTM0NjI2LCJBbHRpdHVkZSI6OTI3LjAxMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTI0MSwiTG9uZ2l0dWRlIjo3Ny42MTAzNTIsIkxhdGl0dWRlIjoxMi45MzQ1OTAsIkFsdGl0dWRlIjo5MjcuMDIwMH0seyJFbnRyeV90eXBlIjoiR0VPRkVOQ0VfQlJFQUNIIiwiVGltZVN0YW1wIjoxNTc1MDg5MjQyLCJMb25naXR1ZGUiOjc3LjYxMDMyOSwiTGF0aXR1ZGUiOjEyLjkzNDU1NiwiQWx0aXR1ZGUiOjkyNy4wMjAwfSx7IkVudHJ5X3R5cGUiOiJHRU9GRU5DRV9CUkVBQ0giLCJUaW1lU3RhbXAiOjE1NzUwODkyNDMsIkxvbmdpdHVkZSI6NzcuNjEwMzA2LCJMYXRpdHVkZSI6MTIuOTM0NTIxLCJBbHRpdHVkZSI6OTI3LjAyMDB9LHsiRW50cnlfdHlwZSI6IkdFT0ZFTkNFX0JSRUFDSCIsIlRpbWVTdGFtcCI6MTU3NTA4OTI0NCwiTG9uZ2l0dWRlIjo3Ny42MTAyNzUsIkxhdGl0dWRlIjoxMi45MzQ0ODYsIkFsdGl0dWRlIjo5MjcuMDIwMH0seyJFbnRyeV90eXBlIjoiTEFORC9ESVNBUk0iLCJUaW1lU3RhbXAiOjE1NzUwODkyODgsIkxvbmdpdHVkZSI6NzcuNjA5OTQ3LCJMYXRpdHVkZSI6MTIuOTM0MDYyLCJBbHRpdHVkZSI6OTEyLjA4MDB9XX19","signature":"Ha2p_8gikaKoU6rXC7q_AZN3gGDr03d4chX93UA8y8BY65C6b0GmwUArO9ujl0dSzUTYC0ZyA512R3qm7WJGfZTvQh0hzqAMDoW2zWc88yh4ja5f9-81VlgTCPJQxII_CxNxChteywzygLP5sep2KuvBq1lCrIz4zoLdvjbJheHeMU59PXEPonziZ6np1N7XGcKh-pfsnPd9XJd95zBE883a98IVhxlLa1whVRVENTvDq1tpCKaQ7cSym9PZj-OsMCDL_u5jBji1bwtwp_ut9xt_uMi4R20G6_CXJaaJnn2tE_LVA5Kcv3t3-mkB1VzdkV_Ji1JYtX2VqeoNe_Jr1g"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add the drone public key here? How is the trust chain established if this needs to be validated at Digital Sky? @sidhantgoel
No description provided.