fuchsia.weave

PROTOCOLS

Signer

Defined in fuchsia.weave/auth.fidl

This protocol is used for signing operations with the factory-provisioned Weave key.

SignHash

Sign the provided |hash| with the factory provisioned key. On success the result is returned in |signature|. The signature must be of a type that is supported by Weave, and must take the standard form of an ASN.1 DER SEQUENCE. This operation must support SHA1 and SHA256 hash values.

Currently, Weave only supports ECDSA signatures using the P224 curve, however, to allow this protocol to support future changes to supported Weave signatures the maximum size of the returned signature is set to 139 bytes which is the largest amount of space needed to return an encoded ECDSA P521 signature.

Request

NameType
hash vector<uint8>[32]

Response

NameType
result Signer_SignHash_Result

FactoryDataManager

Defined in fuchsia.weave/auth.fidl

This protocol is used to retrieve factory data that may be encrypted at rest.

GetPairingCode

Return the device |pairing_code| on success.

Request

NameType

Response

NameType
result FactoryDataManager_GetPairingCode_Result

STRUCTS

Signer_SignHash_Response

Defined in fuchsia.weave/auth.fidl

NameTypeDescriptionDefault
signature vector<uint8>[139] No default

FactoryDataManager_GetPairingCode_Response

Defined in fuchsia.weave/auth.fidl

NameTypeDescriptionDefault
pairing_code vector<uint8>[16] No default

ENUMS

ErrorCode

Type: uint32

Defined in fuchsia.weave/auth.fidl

Error codes for WeaveKeyStore operations.

NameValueDescription
FILE_NOT_FOUND 1

Key/pairing code not found in storage.

CRYPTO_ERROR 2

Error occurred during cryptographic operations.

UNIONS

Signer_SignHash_Result

Defined in fuchsia.weave/auth.fidl

NameTypeDescription
response Signer_SignHash_Response
err ErrorCode

FactoryDataManager_GetPairingCode_Result

Defined in fuchsia.weave/auth.fidl

NameTypeDescription
response FactoryDataManager_GetPairingCode_Response
err ErrorCode