Dilithium CodeSign GUI v1
Dilithium CodeSign GUI v1
```toml
[package]
name = "final_gui_v1.0_core"
version = "1.0.0"
edition = "2021"
[dependencies]
post_quantum_crypto = { path = "../post_quantum_crypto" }
eframe = "0.24"
git2 = "0.18"
```
```rust
use eframe::egui;
use post_quantum_crypto::apps::codesign::DilithiumCodeSign;
use std::process::Command;
#[derive(Default)]
struct CodeSignApp {
status: String,
}
impl eframe::App for CodeSignApp {
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("Dilithium Code-Sign v1.0");
if ui.button("Init Repo").clicked() {
match DilithiumCodeSign::new().init_repo() {
Ok(_) => self.status = "Repo initialized".to_string(),
Err(e) => self.status = format!("Error: {}", e),
}
}
if ui.button("Sign Current Commit").clicked() {
match DilithiumCodeSign::new().sign_current_commit() {
Ok(_) => self.status = "Commit signed".to_string(),
Err(e) => self.status = format!("Error: {}", e),
}
}
ui.horizontal(|ui| {
let mut commit = String::new();
ui.text_edit_singleline(&mut commit);
if ui.button("Verify Commit").clicked() && !commit.is_empty() {
let valid = DilithiumCodeSign::new().verify_commit(&commit);
self.status = if valid { "Verified" } else { "Failed" }.to_string();
}
});
if ui.button("Verify Entire Chain").clicked() {
let valid = DilithiumCodeSign::new().verify_chain();
self.status = if valid { "Chain Verified" } else { "Chain Failed" }.to_string();
}
if !self.status.is_empty() {
ui.label(&self.status);
}
});
}
}
fn main() -> eframe::Result<()> {
let options = eframe::NativeOptions::default();
eframe::run_native(
"Dilithium Code-Sign",
options,
Box::new(|_cc| Box::new(CodeSignApp::default())),
)
}
```
---
**FINAL_Gui_v1.0_core**
- Click **Init Repo** → setup keys
- Click **Sign Current Commit** → sign HEAD
- Enter SHA → **Verify Commit**
- Click **Verify Entire Chain**
---
**Build & Run:**
```bash
cargo build --release
./target/release/final_gui_v1.0_core
```
---
**Next?**
Say: **Make Android**
→ I’ll give you **FINAL_Android_v1.0.apk**
**Go.**