+
+
+ Paste the PEM encoded public certificate of the root or
+ intermediate CA that issues your device certificates. Peers will
+ only be allowed to connect if they hold a certificate issued by
+ one of these CAs and prove possession of its private key.
+
+
+
+ {certificates.length > 0 && (
+
+ {certificates.map((c, index) => {
+ return (
+
+
+
+
+
+
+ );
+ })}
+
+ )}
+
+
+
+
+
+ Learn more about
+
+ Certificate Check
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/src/modules/posture-checks/checks/tooltips/CertificateTooltip.tsx b/src/modules/posture-checks/checks/tooltips/CertificateTooltip.tsx
new file mode 100644
index 000000000..8cfcf1691
--- /dev/null
+++ b/src/modules/posture-checks/checks/tooltips/CertificateTooltip.tsx
@@ -0,0 +1,73 @@
+import Badge from "@components/Badge";
+import FullTooltip from "@components/FullTooltip";
+import { ScrollArea } from "@components/ScrollArea";
+import { FileKey2Icon } from "lucide-react";
+import * as React from "react";
+import { CertificateCheck } from "@/interfaces/PostureCheck";
+import { useCertificateFingerprints } from "@/modules/posture-checks/helper/CertificateHelper";
+
+type Props = {
+ check?: CertificateCheck;
+ children?: React.ReactNode;
+};
+export const CertificateTooltip = ({ check, children }: Props) => {
+ const fingerprints = useCertificateFingerprints(check?.ca_certificates ?? []);
+
+ return check ? (
+
+
+
+ Allow only{" "}
+ peers holding a certificate issued by one of the following CAs
+
+