Skip to content

Certs page #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added public/certificates/.gitkeep
Empty file.
1 change: 1 addition & 0 deletions public/certificates/codegate_ca.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sssssss
4 changes: 4 additions & 0 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import { usePromptsStore } from "./hooks/usePromptsStore";
import { Sidebar } from "./components/Sidebar";
import { useSse } from "./hooks/useSse";
import { Help } from "./components/Help";
import { Certificates } from "./components/Certificates";
import { CertificateSecurity } from "./components/CertificateSecurity";

function App() {
const { prompts, loading, fetchPrompts } = usePromptsStore();
Expand All @@ -31,6 +33,8 @@ function App() {
<Route path="/" element={<Dashboard />} />
<Route path="/prompt/:id" element={<Chat />} />
<Route path="/help/:section" element={<Help />} />
<Route path="/certificates" element={<Certificates />} />
<Route path="/certificates/security" element={<CertificateSecurity />} />
</Routes>
</div>
</div>
Expand Down
134 changes: 134 additions & 0 deletions src/components/CertificateSecurity.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
import { Card } from "./ui/card";

const SecurityShieldIcon = () => (
<svg viewBox="0 0 24 24" className="w-16 h-16 text-teal-600">
<path
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"
/>
<path
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
d="M9 12l2 2 4-4"
/>
</svg>
);

const KeySecurityIcon = () => (
<svg viewBox="0 0 24 24" className="w-16 h-16 text-teal-600">
<path
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"
/>
</svg>
);

const OpenSourceIcon = () => (
<svg viewBox="0 0 24 24" className="w-16 h-16 text-teal-600">
<circle
cx="12"
cy="12"
r="10"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
d="M12 6v12m-6-6h12"
/>
</svg>
);

export function CertificateSecurity() {
return (
<div className="max-w-4xl mx-auto h-[calc(100vh-4rem)] overflow-y-auto px-4 pr-6 pb-12">
<h1 className="text-3xl font-bold mb-8">Certificate Security</h1>

<Card className="p-6 mb-8 bg-white shadow-lg border-2 border-gray-100">
<div className="flex justify-center mb-4">
<SecurityShieldIcon />
</div>
<h2 className="text-xl font-semibold mb-4">Robust Certificate Security</h2>
<p className="text-gray-700 mb-4">
Security is a top priority for us. We have designed CodeGates local certificate management with security in mind, balanced against ease of use.
</p>
<p className="text-gray-700">We will always seek to improve and balance security, privacy and usability as best as we can</p>
</Card>

<Card className="p-6 mb-8 bg-white shadow-lg border-2 border-gray-100">
<div className="flex justify-center mb-4">
<KeySecurityIcon />
</div>
<h2 className="text-xl font-semibold mb-4">Key Security Features</h2>
<div className="space-y-6">
<div>
<h3 className="font-semibold text-lg mb-2">Per-Domain Certificate Generation</h3>
<p className="text-gray-700 mb-2">
Instead of using wildcard certificates, CodeGate generates unique certificates for each domain. This approach minimizes security risks by limiting the impact of any single certificate compromise.
</p>
</div>

<div>
<h3 className="font-semibold text-lg mb-2">High-Strength Encryption with 4096-bit RSA Keys</h3>
<p className="text-gray-700 mb-2">
CodeGate utilizes 4096-bit RSA keys for Certificate Authority operations, providing enhanced security compared to the standard 2048-bit keys. The increased key length significantly reduces the risk of brute-force attacks, ensuring long-term protection for your data. We use 2048 for the server certs to balance in performance.
</p>
</div>

<div>
<h3 className="font-semibold text-lg mb-2">Secure SSL/TLS Configuration</h3>
<p className="text-gray-700 mb-2">
Our SSL context is configured to enforce the latest security standards, including strong cipher suites and disabling outdated protocols. This ensures secure and efficient encrypted communications.
</p>
</div>

<div>
<h3 className="font-semibold text-lg mb-2">Certificate Caching and Management</h3>
<p className="text-gray-700 mb-2">
Certificates are cached efficiently to optimize performance without compromising security. Additionally, mechanisms are in place to manage certificate lifecycles and prevent resource exhaustion.
</p>
</div>
</div>
</Card>

<Card className="p-6 mb-8 bg-white shadow-lg border-2 border-gray-100">
<div className="flex justify-center mb-4">
<OpenSourceIcon />
</div>
<h2 className="text-xl font-semibold mb-4">Open Source and Community Engagement</h2>
<div className="space-y-4">
<p className="text-gray-700">
Security has been a fundamental consideration throughout the development of CodeGate. Our comprehensive approach ensures that your development environment remains secure without sacrificing functionality or performance.
</p>
<p className="text-gray-700">
We believe in transparency and continuous improvement. By making our code open source, we invite the global security community to review, audit, and contribute to enhancing our security measures.
</p>
<p className="text-gray-700">
If you discover a security vulnerability or have suggestions for improvement, please reach out to us at <a href="mailto:[email protected]" className="text-blue-600 hover:text-blue-700 underline">[email protected]</a>. Your contributions help us maintain the highest security standards.
</p>
<p className="text-gray-700">
Explore our codebase on <a href="https://github.com/stacklok/codegate" target="_blank" rel="noopener noreferrer" className="text-blue-600 hover:text-blue-700 underline">GitHub</a> and join our community in making CodeGate secure and reliable for everyone.
</p>
</div>
</Card>
</div>
);
}
Loading