If the radio is of type B, its indoor_deployment=true and registration_method=single-step, we should create the radio with cpi_digital_signature field populated.
TODO:
Check if the created radio is of type A and has indoor_deployment=true
if so, proceed to generate the cpi_digital_signature as part of the server side CreateCbsdMethod.
digitalSignature is a string representing JOSE encrypted data that's used to encrypt installation data and to vouch for the CPI's identity.
It's made out of protectedHeader, encodedCpiSignedData and CPI's private key.
protectedHeader is a base64 encoded value determining the algorithm used to encrypt digitalSignature. For the purpose of Domain Proxy a JWT algorithm RS256 is used. The name of the algorithm needs to be stored in a config file.
encodedCpiSignedData is a base64 encoded value of the CpiSignedData object, which, in general, can be thought of as registrationRequest's payload.
It comprises fccId, cbsdSerialNumber, installationParam and professionalInstallerData.
All the above fields come in a POST request from the NMS form.
Values of protectedHeader and encodedCpiSignedData are connected with a dot . and encrypted using the algorithm specified inside protectedHeader and CPI's private key (sent in the cpiKey field). See https://jwt.io/introduction for details on how to encrypt the data.
The resulting string is the value of digitalSignature field.
If the radio is of type B, its indoor_deployment=true and registration_method=single-step, we should create the radio with cpi_digital_signature field populated.
TODO: Check if the created radio is of type A and has indoor_deployment=true if so, proceed to generate the cpi_digital_signature as part of the server side CreateCbsdMethod.
digitalSignature
is a string representing JOSE encrypted data that's used to encrypt installation data and to vouch for the CPI's identity.It's made out of
protectedHeader
,encodedCpiSignedData
and CPI's private key.protectedHeader
is abase64
encoded value determining the algorithm used to encryptdigitalSignature
. For the purpose of Domain Proxy aJWT algorithm RS256
is used. The name of the algorithm needs to be stored in a config file.encodedCpiSignedData
is abase64
encoded value of theCpiSignedData
object, which, in general, can be thought of asregistrationRequest
's payload.It comprises
fccId
,cbsdSerialNumber
,installationParam
andprofessionalInstallerData
.installationParam
contains: latitude longitude indoor_deployment height height_type horizontal_accuracy antenna_azimuth antenna_downtilt eirp_capability antenna_beamwidth antenna_modelprofessionalInstallerData
contains: cpiNameinstallCertificationTime cpiId
cpiKey
All the above fields come in a POST request from the NMS form.
Values of
protectedHeader
andencodedCpiSignedData
are connected with a dot.
and encrypted using the algorithm specified insideprotectedHeader
and CPI's private key (sent in thecpiKey
field). See https://jwt.io/introduction for details on how to encrypt the data.The resulting string is the value of
digitalSignature
field.