mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Added a Security Page for Options to View, Copy and Export own Public Key.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1380 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
1c729b93fc
commit
9c65c694c5
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************
|
/****************************************************************
|
||||||
* RShare is distributed under the following license:
|
* RetroShare is distributed under the following license:
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006, crypton
|
* Copyright (C) 2006 - 2009 RetroShare Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@ -19,10 +19,18 @@
|
|||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
****************************************************************/
|
****************************************************************/
|
||||||
|
|
||||||
|
#include "rsiface/rspeers.h" //for rsPeers variable
|
||||||
|
#include "rsiface/rsiface.h"
|
||||||
|
|
||||||
|
#include <QtGui>
|
||||||
|
#include <QClipboard>
|
||||||
|
|
||||||
#include <rshare.h>
|
#include <rshare.h>
|
||||||
#include "CryptographyDialog.h"
|
#include "CryptographyDialog.h"
|
||||||
|
|
||||||
|
#include <sstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
/** Constructor */
|
/** Constructor */
|
||||||
CryptographyDialog::CryptographyDialog(QWidget *parent)
|
CryptographyDialog::CryptographyDialog(QWidget *parent)
|
||||||
@ -34,6 +42,13 @@ CryptographyDialog::CryptographyDialog(QWidget *parent)
|
|||||||
/* Create RshareSettings object */
|
/* Create RshareSettings object */
|
||||||
_settings = new RshareSettings();
|
_settings = new RshareSettings();
|
||||||
|
|
||||||
|
connect(ui.copykeyButton, SIGNAL(clicked()), this, SLOT(copyPublicKey()));
|
||||||
|
connect(ui.exportkeyButton, SIGNAL(clicked()), this, SLOT(exportPublicKey()));
|
||||||
|
|
||||||
|
|
||||||
|
loadPublicKey();
|
||||||
|
|
||||||
|
|
||||||
/* Hide platform specific features */
|
/* Hide platform specific features */
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
|
|
||||||
@ -44,7 +59,7 @@ CryptographyDialog::CryptographyDialog(QWidget *parent)
|
|||||||
bool
|
bool
|
||||||
CryptographyDialog::save(QString &errmsg)
|
CryptographyDialog::save(QString &errmsg)
|
||||||
{
|
{
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Loads the settings for this page */
|
/** Loads the settings for this page */
|
||||||
@ -54,3 +69,68 @@ CryptographyDialog::load()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Loads ouer default Puplickey */
|
||||||
|
void
|
||||||
|
CryptographyDialog::loadPublicKey()
|
||||||
|
{
|
||||||
|
//std::cerr << "CryptoPage() getting Invite" << std::endl;
|
||||||
|
|
||||||
|
std::string invite = rsPeers->GetRetroshareInvite();
|
||||||
|
|
||||||
|
RsPeerDetails ownDetail;
|
||||||
|
rsPeers->getPeerDetails(rsPeers->getOwnId(), ownDetail);
|
||||||
|
invite += LOCAL_IP;
|
||||||
|
invite += ownDetail.localAddr + ":";
|
||||||
|
std::ostringstream out;
|
||||||
|
out << ownDetail.localPort;
|
||||||
|
invite += out.str() + ";";
|
||||||
|
invite += "\n";
|
||||||
|
invite += EXT_IP;
|
||||||
|
invite += ownDetail.extAddr + ":";
|
||||||
|
std::ostringstream out2;
|
||||||
|
out2 << ownDetail.extPort;
|
||||||
|
invite += out2.str() + ";";
|
||||||
|
|
||||||
|
ui.certtextEdit->setText(QString::fromStdString(invite));
|
||||||
|
ui.certtextEdit->setReadOnly(true);
|
||||||
|
ui.certtextEdit->setMinimumHeight(200);
|
||||||
|
|
||||||
|
//std::cerr << "CryptoPage() getting Invite: " << invite << std::endl;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CryptographyDialog::copyPublicKey()
|
||||||
|
{
|
||||||
|
QMessageBox::information(this,
|
||||||
|
tr("RetroShare"),
|
||||||
|
tr("Your Public Key is copied to Clipbard, paste and send it to your"
|
||||||
|
"friend via email or some other way"));
|
||||||
|
QClipboard *clipboard = QApplication::clipboard();
|
||||||
|
clipboard->setText(ui.certtextEdit->toPlainText());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CryptographyDialog::exportPublicKey()
|
||||||
|
{
|
||||||
|
qDebug() << " exportPulicKey";
|
||||||
|
|
||||||
|
QString qdir = QFileDialog::getSaveFileName(this,
|
||||||
|
"Please choose a filename",
|
||||||
|
QDir::homePath(),
|
||||||
|
"RetroShare Certificate (*.pqi)");
|
||||||
|
|
||||||
|
if ( rsPeers->SaveCertificateToFile(rsPeers->getOwnId(), qdir.toStdString()) )
|
||||||
|
{
|
||||||
|
QMessageBox::information(this, tr("RetroShare"),
|
||||||
|
tr("Certificate file successfully created"),
|
||||||
|
QMessageBox::Ok, QMessageBox::Ok);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QMessageBox::information(this, tr("RetroShare"),
|
||||||
|
tr("Sorry, certificate file creation failed"),
|
||||||
|
QMessageBox::Ok, QMessageBox::Ok);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************
|
/****************************************************************
|
||||||
* RShare is distributed under the following license:
|
* RetroShare is distributed under the following license:
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006, crypton
|
* Copyright (C) 2006 - 2009 RetroShare Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@ -25,10 +25,12 @@
|
|||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
|
||||||
#include <gui/Preferences/rsharesettings.h>
|
#include <gui/Preferences/rsharesettings.h>
|
||||||
|
#include "gui/connect/ConnectFriendWizard.h"
|
||||||
|
|
||||||
#include "configpage.h"
|
#include "configpage.h"
|
||||||
#include "ui_CryptographyDialog.h"
|
#include "ui_CryptographyDialog.h"
|
||||||
|
|
||||||
|
|
||||||
class CryptographyDialog : public ConfigPage
|
class CryptographyDialog : public ConfigPage
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -45,6 +47,12 @@ public:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|
||||||
|
void loadPublicKey();
|
||||||
|
|
||||||
|
void copyPublicKey();
|
||||||
|
|
||||||
|
void exportPublicKey();
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** A RshareSettings object used for saving/loading settings */
|
/** A RshareSettings object used for saving/loading settings */
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -34,7 +34,7 @@
|
|||||||
#define IMAGE_PREFERENCES ":/images/kcmsystem24.png"
|
#define IMAGE_PREFERENCES ":/images/kcmsystem24.png"
|
||||||
#define IMAGE_SERVER ":/images/server_24x24.png"
|
#define IMAGE_SERVER ":/images/server_24x24.png"
|
||||||
#define IMAGE_DIRECTORIES ":/images/folder_doments.png"
|
#define IMAGE_DIRECTORIES ":/images/folder_doments.png"
|
||||||
#define IMAGE_CRYPTOGRAPHY ":/images/cryptography_24x24.png"
|
#define IMAGE_CRYPTOGRAPHY ":/images/encrypted32.png"
|
||||||
#define IMAGE_LOG ":/images/log_24x24.png"
|
#define IMAGE_LOG ":/images/log_24x24.png"
|
||||||
#define IMAGE_ABOUT ":/images/informations_24x24.png"
|
#define IMAGE_ABOUT ":/images/informations_24x24.png"
|
||||||
#define IMAGE_SAVE ":/images/media-floppy.png"
|
#define IMAGE_SAVE ":/images/media-floppy.png"
|
||||||
@ -69,6 +69,9 @@ PreferencesWindow::PreferencesWindow(QWidget *parent, Qt::WFlags flags)
|
|||||||
ui.stackPages->add(new NotifyDialog(ui.stackPages),
|
ui.stackPages->add(new NotifyDialog(ui.stackPages),
|
||||||
createPageAction(QIcon(IMAGE_NOTIFY), tr("Notify"), grp));
|
createPageAction(QIcon(IMAGE_NOTIFY), tr("Notify"), grp));
|
||||||
|
|
||||||
|
ui.stackPages->add(new CryptographyDialog(ui.stackPages),
|
||||||
|
createPageAction(QIcon(IMAGE_CRYPTOGRAPHY), tr("Security"), grp));
|
||||||
|
|
||||||
ui.stackPages->add(new FileAssotiationsDialog(ui.stackPages),
|
ui.stackPages->add(new FileAssotiationsDialog(ui.stackPages),
|
||||||
createPageAction(QIcon(IMAGE_FILE_ASSOTIATIONS),
|
createPageAction(QIcon(IMAGE_FILE_ASSOTIATIONS),
|
||||||
tr("File assotiations"), grp));
|
tr("File assotiations"), grp));
|
||||||
|
@ -50,6 +50,7 @@ public:
|
|||||||
Directories, /** Directories page. */
|
Directories, /** Directories page. */
|
||||||
Appearance, /** Appearance page. */
|
Appearance, /** Appearance page. */
|
||||||
Notify, /** Notify page. */
|
Notify, /** Notify page. */
|
||||||
|
Security, /** Security page. */
|
||||||
FileAssotiations /** File assotiations page. */
|
FileAssotiations /** File assotiations page. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user