mirror of
https://github.com/chris2511/xca.git
synced 2026-09-12 19:51:05 +05:00
A new tab on the certificate details dialog shows the result of the OpenSSL validation process and the calculated OpenSSL Purpose. The translation of the OpenSSL X509_V_ERR.... messsages back to strings is done by grepping them from "openssl/x509_vfy.h" and wrapping them into a macro-call. Additionally guard them by an #ifdef (Zombieland rule #2: Double-Tap) This way: - I don't need to test and check in which versions of OpenSSL which errors are available or not - New errors will be picked up automatically, as long as they match the "X509_V_ERR_" pattern
527 lines
16 KiB
XML
527 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>CertDetail</class>
|
|
<widget class="QDialog" name="CertDetail">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>712</width>
|
|
<height>502</height>
|
|
</rect>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<layout class="QHBoxLayout">
|
|
<item>
|
|
<widget class="QLabel" name="headerLabel">
|
|
<property name="font">
|
|
<font>
|
|
<family>Arial</family>
|
|
<pointsize>14</pointsize>
|
|
<weight>50</weight>
|
|
<italic>false</italic>
|
|
<bold>false</bold>
|
|
<underline>false</underline>
|
|
<strikeout>false</strikeout>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Details of the Certificate</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Expanding</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="image">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>95</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>95</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
<property name="scaledContents">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QTabWidget" name="tabwidget">
|
|
<property name="currentIndex">
|
|
<number>0</number>
|
|
</property>
|
|
<widget class="QWidget" name="statusTab">
|
|
<attribute name="title">
|
|
<string>Status</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<item>
|
|
<spacer>
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Expanding</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QFrame" name="frame">
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Sunken</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="TextLabel2">
|
|
<property name="text">
|
|
<string>Internal name</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QLineEdit" name="description">
|
|
<property name="toolTip">
|
|
<string>The internal name of the certificate in the database</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="signedLabel">
|
|
<property name="text">
|
|
<string>Signature</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<item>
|
|
<widget class="ClickLabel" name="signature">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="CopyLabel" name="sigAlgo">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="TextLabel6">
|
|
<property name="text">
|
|
<string>Key</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="ClickLabel" name="privKey">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="serialLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>Serial</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="CopyLabel" name="serialNr">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>The serial number of the certificate</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="fingerprints">
|
|
<property name="title">
|
|
<string>Fingerprints</string>
|
|
</property>
|
|
<layout class="QGridLayout">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="TextLabel1_2">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>MD5</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="CopyLabel" name="fpMD5">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>An md5 hashsum of the certificate</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="TextLabel2_2">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>SHA1</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="CopyLabel" name="fpSHA1">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>A SHA-1 hashsum of the certificate</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="TextLabel2_3">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>SHA256</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="CopyLabel" name="fpSHA256">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>A SHA-256 hashsum of the certificate</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="validity">
|
|
<property name="title">
|
|
<string>Validity</string>
|
|
</property>
|
|
<layout class="QHBoxLayout">
|
|
<property name="leftMargin">
|
|
<number>8</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>8</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>8</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>8</number>
|
|
</property>
|
|
<item>
|
|
<widget class="CopyLabel" name="notBefore">
|
|
<property name="toolTip">
|
|
<string>The time since the certificate is valid</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="CopyLabel" name="notAfter">
|
|
<property name="toolTip">
|
|
<string>The time until the certificate is valid</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="ClickLabel" name="dateValid">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer>
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Expanding</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="subjectTab">
|
|
<attribute name="title">
|
|
<string>Subject</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout">
|
|
<property name="leftMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<item>
|
|
<widget class="DistName" name="subject" native="true"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="issuerTab">
|
|
<attribute name="title">
|
|
<string>Issuer</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout">
|
|
<property name="leftMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>11</number>
|
|
</property>
|
|
<item>
|
|
<widget class="DistName" name="issuer" native="true"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="attributesTab">
|
|
<attribute name="title">
|
|
<string>Attributes</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
<item>
|
|
<widget class="QWidget" name="attributes" native="true"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="extensionsTab">
|
|
<attribute name="title">
|
|
<string>Extensions</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QTextEdit" name="v3extensions">
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="showExt">
|
|
<property name="text">
|
|
<string>Show config</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="validationTab">
|
|
<attribute name="title">
|
|
<string>Validation</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox_2">
|
|
<property name="title">
|
|
<string>Purposes</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_10">
|
|
<item>
|
|
<widget class="QListWidget" name="purposeList"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="title">
|
|
<string>Strict RFC 5280 validation</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_11">
|
|
<item>
|
|
<widget class="QTextEdit" name="validation"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="commentTab">
|
|
<attribute name="title">
|
|
<string>Comment</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
<item>
|
|
<widget class="QTextEdit" name="comment">
|
|
<property name="html">
|
|
<string notr="true"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
|
p, li { white-space: pre-wrap; }
|
|
</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><br /></p></body></html></string>
|
|
</property>
|
|
<property name="acceptRichText">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDialogButtonBox" name="buttonBox">
|
|
<property name="standardButtons">
|
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<customwidgets>
|
|
<customwidget>
|
|
<class>ClickLabel</class>
|
|
<extends>QLabel</extends>
|
|
<header>widgets/clicklabel.h</header>
|
|
</customwidget>
|
|
<customwidget>
|
|
<class>DistName</class>
|
|
<extends>QWidget</extends>
|
|
<header>widgets/distname.h</header>
|
|
<container>1</container>
|
|
</customwidget>
|
|
<customwidget>
|
|
<class>CopyLabel</class>
|
|
<extends>QLabel</extends>
|
|
<header>widgets/clicklabel.h</header>
|
|
</customwidget>
|
|
</customwidgets>
|
|
<resources/>
|
|
<connections>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>accepted()</signal>
|
|
<receiver>CertDetail</receiver>
|
|
<slot>accept()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>378</x>
|
|
<y>488</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>235</x>
|
|
<y>405</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>rejected()</signal>
|
|
<receiver>CertDetail</receiver>
|
|
<slot>reject()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>485</x>
|
|
<y>475</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>530</x>
|
|
<y>428</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
</ui>
|