xca/ui/CertDetail.ui
Christian Hohnstaedt 1bc340a0ef Close #104: Also show sha256 digests of public keys
Print digest of public keys in the key details in different formats:

Print SHA256 SSH digest as used to by SSH users:
	ssh-keygen -l -f ~/.ssh/id_rsa.pub

Print SHA1 X509 key digest as shown in the
	Subject key identifier of a certificate

Print SHA256 digest as in:
	openssl pkey -pubout -outform DER < key.pem | sha256sum
as requested by this issue.

Refactored digesting functionality by a generic Digest()
function working with QByteArrays.
The function formatHash() now also expects a QByteArray input.
2019-03-14 06:35:24 +01:00

469 lines
14 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>535</width>
<height>498</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="unnamed">
<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="descr">
<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="margin">
<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="unnamed_1">
<attribute name="title">
<string>Subject</string>
</attribute>
<layout class="QVBoxLayout">
<property name="margin">
<number>11</number>
</property>
<item>
<widget class="DistName" name="subject" native="true"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Issuer</string>
</attribute>
<layout class="QVBoxLayout">
<property name="margin">
<number>11</number>
</property>
<item>
<widget class="DistName" name="issuer" native="true"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<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="unnamed_2">
<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="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">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-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;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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>