update changelog

add file association for ".xdb" on W32
remove TainyCA support
add donations page
This commit is contained in:
Christian Hohnstaedt 2007-02-01 17:32:11 +01:00 committed by Christian Hohnstaedt
parent a1d1df1ee5
commit e5600d6427
12 changed files with 78 additions and 68 deletions

View File

@ -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

View File

@ -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();

View File

@ -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;

View File

@ -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();

View File

@ -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} \

View File

@ -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>

View File

@ -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" >

View File

@ -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);
}

View File

@ -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

View File

@ -88,7 +88,6 @@ void MainWindow::about()
"<p>Copyright 2002 - 2006 by Christian Hohnst&auml;dt\n"
"<p>Version : <b>" VER "</b>"
"<p>%s<br>QT: %s"
"<p>Donations are welcome on my PayPal account: &lt;christian@hohnstaedt.de&gt;"
"<hr><table border=0>"
"<tr><th align=left>Christian Hohnst&auml;dt</th><td><u>&lt;christian@hohnstaedt.de&gt;</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>&lt;christian@hohnstaedt.de&gt;</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);

View File

@ -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;
}

View File

@ -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();