mirror of
https://github.com/chris2511/xca.git
synced 2026-09-12 19:51:05 +05:00
update changelog
add file association for ".xdb" on W32 remove TainyCA support add donations page
This commit is contained in:
parent
a1d1df1ee5
commit
e5600d6427
@ -1,8 +1,17 @@
|
||||
* correct and fixate the order of x509name entries
|
||||
* Add CRL properties dialog to select the dates and the
|
||||
signing algo
|
||||
* Add SHA256 and SHA512
|
||||
* Certificate export for apache and OpenSSH+X509
|
||||
* Default templates for client, server, CA removed
|
||||
* template duplication added
|
||||
* sort serial numbers numerically and not lexicographically
|
||||
Bug [1166075]
|
||||
* add build support for cygwin and mingw-cross
|
||||
* delete rpm/ and debian/ subdirs
|
||||
* Port to QT4 and openssl 0.9.8
|
||||
remove the need of Berkeley DB
|
||||
importing of old database dump possible
|
||||
* finish support for Mac OS X
|
||||
* add X509 V3 extensions to PKCS#10 requests
|
||||
* add "validation" function for editable extensions below
|
||||
|
||||
@ -674,7 +674,7 @@ void db_x509::store()
|
||||
QString fn = mainwin->getPath() + QDir::separator() +
|
||||
crt->getUnderlinedName() + ".crt";
|
||||
ExportCert *dlg = new ExportCert(mainwin, fn,
|
||||
(privkey && privkey->isPrivKey()), crt->tinyCAfname() );
|
||||
(privkey && privkey->isPrivKey()) );
|
||||
dlg->image->setPixmap(*MainWindow::certImg);
|
||||
int dlgret = dlg->exec();
|
||||
|
||||
|
||||
@ -612,37 +612,6 @@ void pki_x509::setCrlExpiry(const a1time &time)
|
||||
openssl_error();
|
||||
}
|
||||
|
||||
QString pki_x509::tinyCAfname()
|
||||
{
|
||||
QString col;
|
||||
const char *s;
|
||||
x509name x = getSubject();
|
||||
col = x.getEntryByNid(NID_commonName)
|
||||
+(x.getEntryByNid(NID_commonName) == "" ? " :" : ":")
|
||||
+ x.getEntryByNid(NID_pkcs9_emailAddress)
|
||||
+(x.getEntryByNid(NID_pkcs9_emailAddress) == "" ? " :" : ":")
|
||||
+ x.getEntryByNid(NID_organizationalUnitName)
|
||||
+(x.getEntryByNid(NID_organizationalUnitName) == "" ? " :" : ":")
|
||||
+ x.getEntryByNid(NID_organizationName)
|
||||
+(x.getEntryByNid(NID_organizationName) == "" ? " :" : ":")
|
||||
+ x.getEntryByNid(NID_localityName)
|
||||
+(x.getEntryByNid(NID_localityName) == "" ? " :" : ":")
|
||||
+ x.getEntryByNid(NID_stateOrProvinceName)
|
||||
+(x.getEntryByNid(NID_stateOrProvinceName) == "" ? " :" : ":")
|
||||
+ x.getEntryByNid(NID_countryName)
|
||||
+(x.getEntryByNid(NID_countryName) == "" ? " :" : ":");
|
||||
|
||||
int len = col.length();
|
||||
s = col.toAscii();
|
||||
unsigned char *buf = (unsigned char *)OPENSSL_malloc(len * 2 + 3);
|
||||
|
||||
EVP_EncodeBlock(buf, (const unsigned char *)s, len );
|
||||
col = (char *)buf;
|
||||
OPENSSL_free(buf);
|
||||
col += ".pem";
|
||||
return col;
|
||||
}
|
||||
|
||||
x509rev pki_x509::getRev()
|
||||
{
|
||||
x509rev a;
|
||||
|
||||
@ -136,7 +136,6 @@ class pki_x509 : public pki_x509super
|
||||
int resetTimes(pki_x509 *signer);
|
||||
bool hasExtension(int nid);
|
||||
bool cmpIssuerAndSerial(pki_x509 *refcert);
|
||||
QString tinyCAfname();
|
||||
void updateView();
|
||||
x509rev getRev();
|
||||
QString getSigAlg();
|
||||
|
||||
39
misc/xca.nsi
39
misc/xca.nsi
@ -66,7 +66,7 @@ Section "xca (required)" SecMain
|
||||
File "misc\aia.txt"
|
||||
File /nonfatal "lang\*.qm"
|
||||
File "doc\*.html"
|
||||
File "${BDIR}/mingwm10.dll"
|
||||
File "${BDIR}\mingwm10.dll"
|
||||
|
||||
File "${OPENSSL}\libeay32.dll"
|
||||
File "${QTDIR}\bin\QtGui4.dll"
|
||||
@ -111,6 +111,24 @@ Section "Update" SecUpdate
|
||||
done2:
|
||||
SectionEnd
|
||||
|
||||
;----------------------------------------
|
||||
Section "File association" SecFiles
|
||||
ReadRegStr $1 HKCR ".xdb" ""
|
||||
StrCmp $1 "" NoBackup
|
||||
StrCmp $1 "OptionsFile" NoBackup
|
||||
WriteRegStr HKCR ".xdb" "backup_val" $1
|
||||
NoBackup:
|
||||
WriteRegStr HKCR ".xdb" "" "xca_db"
|
||||
ReadRegStr $0 HKCR "xca_db" ""
|
||||
StrCmp $0 "" 0 Skip
|
||||
WriteRegStr HKCR "xca_db" "" "XCA database"
|
||||
WriteRegStr HKCR "xca_db\shell" "" "open"
|
||||
WriteRegStr HKCR "xca_db\DefaultIcon" "" "$INSTDIR\xca.exe,0"
|
||||
Skip:
|
||||
WriteRegStr HKCR "xca_db\shell\open\command" "" \
|
||||
'$INSTDIR\xca.exe -d "%1"'
|
||||
; System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
|
||||
SectionEnd
|
||||
|
||||
; uninstall stuff
|
||||
;----------------------------------------
|
||||
@ -135,14 +153,26 @@ Section "Uninstall"
|
||||
IfErrors Win9x
|
||||
UserInfo::GetAccountType
|
||||
Pop $0
|
||||
StrCmp $0 "Admin" 0 +3
|
||||
StrCmp $0 "Admin" 0 Win9x
|
||||
SetShellVarContext all
|
||||
Goto done
|
||||
SetShellVarContext current
|
||||
Win9x:
|
||||
SetShellVarContext current
|
||||
done:
|
||||
|
||||
ReadRegStr $1 HKCR ".xdb" ""
|
||||
StrCmp $1 "xca_db" 0 Skip
|
||||
ReadRegStr $1 HKCR ".xdb" "backup_val"
|
||||
StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
|
||||
DeleteRegKey HKCR ".xdb"
|
||||
Goto Skip
|
||||
Restore:
|
||||
WriteRegStr HKCR ".xdb" "" $1
|
||||
DeleteRegValue HKCR ".xdb" "backup_val"
|
||||
DeleteRegKey HKCR "xca_db" ;Delete key with association settings
|
||||
|
||||
; System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
|
||||
Skip:
|
||||
|
||||
; remove shortcuts, if any.
|
||||
Delete "$SMPROGRAMS\xca\*.*"
|
||||
@ -164,11 +194,14 @@ SectionEnd
|
||||
"Exportiert eine alte Datenbank < 0.5.1 in ein ASCII format, das mit dieser Version von XCA importiert werden kann."
|
||||
LangString DESC_SecUpdate ${LANG_ENGLISH} \
|
||||
"Dumps an old database < 0.5.1 into an ASCII format, that can be imported by the current Version of XCA."
|
||||
LangString DESC_SecFiles ${LANG_ENGLISH} "File association for *.xdb"
|
||||
LangString DESC_SecFiles ${LANG_GERMAN} "Registrierung der Dateiendung *.xdb."
|
||||
;Assign language strings to sections
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} $(DESC_SecMain)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecShortcut} $(DESC_SecShortcut)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecUpdate} $(DESC_SecUpdate)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecFiles} $(DESC_SecFiles)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
LangString DESC_Donation ${LANG_ENGLISH} \
|
||||
|
||||
@ -161,24 +161,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2" colspan="2" >
|
||||
<widget class="QPushButton" name="tinyCaName" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy>
|
||||
<hsizetype>1</hsizetype>
|
||||
<vsizetype>0</vsizetype>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Set the filename to the one used by TinyCA</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>TinyCA filename</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
@ -354,7 +336,6 @@
|
||||
<tabstop>exportFormat</tabstop>
|
||||
<tabstop>PushButton7</tabstop>
|
||||
<tabstop>PushButton9</tabstop>
|
||||
<tabstop>tinyCaName</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabView" >
|
||||
<property name="currentIndex" >
|
||||
<number>2</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="RSATab" >
|
||||
<attribute name="title" >
|
||||
|
||||
@ -54,8 +54,7 @@
|
||||
#include <Qt/qlineedit.h>
|
||||
#include <Qt/qfiledialog.h>
|
||||
|
||||
ExportCert::ExportCert(QWidget *parent, QString fname, bool hasKey,
|
||||
const QString tcafn)
|
||||
ExportCert::ExportCert(QWidget *parent, QString fname, bool hasKey)
|
||||
:QDialog(parent)
|
||||
{
|
||||
setupUi(this);
|
||||
@ -72,7 +71,6 @@ ExportCert::ExportCert(QWidget *parent, QString fname, bool hasKey,
|
||||
"PEM Cert + key" << "PEM Cert + PKCS8 key";
|
||||
}
|
||||
exportFormat->addItems(sl);
|
||||
tinyCAfname = tcafn;
|
||||
}
|
||||
|
||||
void ExportCert::on_fileBut_clicked()
|
||||
@ -97,8 +95,3 @@ void ExportCert::on_exportFormat_activated(int)
|
||||
filename->setText(nfn);
|
||||
}
|
||||
|
||||
void ExportCert::on_tinyCaName_clicked()
|
||||
{
|
||||
filename->setText(tinyCAfname);
|
||||
}
|
||||
|
||||
|
||||
@ -59,13 +59,11 @@ class ExportCert: public QDialog, public Ui::ExportCert
|
||||
QString tinyCAfname;
|
||||
|
||||
public:
|
||||
ExportCert(QWidget *parent, QString fname, bool hasKey,
|
||||
const QString tcafn);
|
||||
ExportCert(QWidget *parent, QString fname, bool hasKey);
|
||||
|
||||
public slots:
|
||||
void on_fileBut_clicked();
|
||||
void on_exportFormat_activated(int);
|
||||
void on_tinyCaName_clicked();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@ -88,7 +88,6 @@ void MainWindow::about()
|
||||
"<p>Copyright 2002 - 2006 by Christian Hohnstädt\n"
|
||||
"<p>Version : <b>" VER "</b>"
|
||||
"<p>%s<br>QT: %s"
|
||||
"<p>Donations are welcome on my PayPal account: <christian@hohnstaedt.de>"
|
||||
"<hr><table border=0>"
|
||||
"<tr><th align=left>Christian Hohnstädt</th><td><u><christian@hohnstaedt.de></u></td></tr>"
|
||||
"<tr><td></td><td>Programming, Translation and Testing</td></tr>"
|
||||
@ -109,6 +108,33 @@ void MainWindow::about()
|
||||
about->exec();
|
||||
}
|
||||
|
||||
void MainWindow::donations()
|
||||
{
|
||||
Ui::About ui;
|
||||
QDialog *d = new QDialog(this, 0);
|
||||
|
||||
ui.setupUi(d);
|
||||
|
||||
QString cont;
|
||||
cont.sprintf("<p><h3><center><u>XCA</u></center></h3>"
|
||||
"<p>This program is free software."
|
||||
"<p>It doesn't bother you with Pop-Ups, Countdown-Timers, "
|
||||
"commercials or any type of 'Register Now' buttons. "
|
||||
"Nor are there any constraints or any limited functionality."
|
||||
"<p>Everybody who wants to support my work at XCA may use "
|
||||
"my PayPal account: <b><christian@hohnstaedt.de></b> "
|
||||
"for a donation."
|
||||
"<p>Every donator will in return be honored in the about dialog "
|
||||
"of the next version."
|
||||
);
|
||||
|
||||
d->setWindowTitle(tr(XCA_TITLE));
|
||||
ui.image->setPixmap( *keyImg );
|
||||
ui.image1->setPixmap( *certImg );
|
||||
ui.textbox->setHtml(cont);
|
||||
d->exec();
|
||||
}
|
||||
|
||||
void MainWindow::help()
|
||||
{
|
||||
QDialog *h = new QDialog(this, 0);
|
||||
|
||||
@ -92,6 +92,7 @@ void MainWindow::init_menu()
|
||||
help = menuBar()->addMenu(tr("&Help") );
|
||||
help->addAction(tr("&Content"), this, SLOT(help()), Qt::Key_F1 );
|
||||
help->addAction(tr("&About"), this, SLOT(about()) );
|
||||
help->addAction(tr("Donations"), this, SLOT(donations()) );
|
||||
wdList += import;
|
||||
}
|
||||
|
||||
|
||||
@ -124,6 +124,7 @@ class MainWindow: public QMainWindow, public Ui::MainWindow
|
||||
void dump_database();
|
||||
void connNewX509(NewX509 *nx);
|
||||
void about();
|
||||
void donations();
|
||||
void help();
|
||||
void import_dbdump();
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user