syntax = "proto3";
package Noise;
message Certificate {
reserved 4 to 15;
uint32 version = 1;
SubjectInfo subject = 2;
repeated Signature signatures = 3;
}
message CertificateChain {
reserved 1 to 7, 9 to 15;
repeated Certificate certs = 8;
}
message SubjectInfo {
reserved 6 to 15;
string id = 1;
string name = 2;
string role = 3;
repeated PublicKeyInfo keys = 4;
repeated MetaInfo meta = 5;
}
message PublicKeyInfo {
reserved 3 to 15;
string algorithm = 1;
bytes key = 2;
}
message MetaInfo {
reserved 3 to 15;
string name = 1;
string value = 2;
}
message Signature {
reserved 6 to 14;
string id = 1;
string name = 2;
PublicKeyInfo signing_key = 3;
string hash_algorithm = 4;
ExtraSignedInfo extra_signed_info = 5;
bytes signature = 15;
}
message ExtraSignedInfo {
reserved 5 to 15;
bytes nonce = 1;
string valid_from = 2;
string valid_to = 3;
repeated MetaInfo meta = 4;
}
message EncryptedPrivateKey {
reserved 1 to 9, 14;
uint32 version = 10;
string algorithm = 11;
bytes salt = 12;
uint32 iterations = 13;
bytes encrypted_data = 15;
}
message PrivateKey {
reserved 6 to 15;
string id = 1;
string name = 2;
string role = 3;
repeated PrivateKeyInfo keys = 4;
repeated MetaInfo meta = 5;
}
message PrivateKeyInfo {
reserved 3 to 15;
string algorithm = 1;
bytes key = 2;
}