init
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
-- Smart Meter Gateways under PKI management.
|
||||
CREATE TABLE IF NOT EXISTS gateways (
|
||||
id TEXT PRIMARY KEY,
|
||||
serial_number TEXT NOT NULL,
|
||||
admin_key_label TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- Issued end-entity certificates per gateway and usage.
|
||||
-- not_before/not_after stored as RFC3339 UTC text (sorts lexicographically).
|
||||
CREATE TABLE IF NOT EXISTS certificates (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
gateway_id TEXT NOT NULL REFERENCES gateways(id) ON DELETE CASCADE,
|
||||
serial TEXT NOT NULL,
|
||||
usage TEXT NOT NULL CHECK (usage IN ('tls', 'signature', 'encryption')),
|
||||
pem TEXT NOT NULL,
|
||||
not_before TEXT NOT NULL,
|
||||
not_after TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL,
|
||||
UNIQUE (gateway_id, usage)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_certificates_not_after
|
||||
ON certificates (not_after);
|
||||
|
||||
-- TR-03129-4 messageID -> gateway_id lookup for asynchronous CA callbacks.
|
||||
CREATE TABLE IF NOT EXISTS pending_requests (
|
||||
message_id TEXT PRIMARY KEY,
|
||||
gateway_id TEXT NOT NULL REFERENCES gateways(id) ON DELETE CASCADE,
|
||||
created_at TEXT NOT NULL,
|
||||
resolved_at TEXT
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_pending_unresolved
|
||||
ON pending_requests (resolved_at)
|
||||
WHERE resolved_at IS NULL;
|
||||
Reference in New Issue
Block a user