Ignore:
Timestamp:
Dec 14, 2017, 1:43:37 PM (6 years ago)
Author:
pbuitrago@…>
Branches:
stretch
Children:
c7e4b3d
Parents:
ecd8d2e
Message:

HITO: Prueba de Concepto de Firma

File:
1 edited

Legend:

Unmodified
Added
Removed
  • terepaima-0.4.16/sources/mainwindow.cpp

    r63dadfc r5de5cc7  
    5353#include <QNetworkRequest>
    5454#include <QUrlQuery>
     55#include <QJsonDocument>
     56#include <QNetworkCookieJar>
     57
    5558
    5659#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
     
    312315MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent),
    313316    m_outlineView(0),
    314     m_thumbnailsView(0)
     317    m_thumbnailsView(0),
     318    manager(NULL)
    315319{
    316320    if(s_settings == 0)
     
    39733977
    39743978   // QString version = executeRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/version","admin","admin");
    3975     QString fileid = "c73efabb-d771-4328-be4f-36b11c4add57";
    3976 
     3979    //QString fileid = "c73efabb-d771-4328-be4f-36b11c4add57";
     3980    QString fileid = "8dd41d79-c3c8-4490-944b-3a246422ab6c";
    39773981   QUrlQuery postData;
    39783982    //postData.addQueryItem("fileId", fileid);
     
    40264030    //QUrlQuery postData1;
    40274031
    4028     QString newverify =  executeRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs","admin","admin"
     4032    QString newhash =  executeRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs","admin","admin"
    40294033                                     ,parameters);
    40304034
     4035    qDebug(".....................*Verify: newhash %s", qPrintable(newhash));
     4036
     4037    QJsonDocument d = QJsonDocument::fromJson(newhash.toUtf8());
     4038          QJsonObject sett2 = d.object();
     4039          QJsonValue value = sett2.value(QString("hash"));
     4040
     4041    currentHash = value.toString();
     4042    qDebug(".....................****currentHash: |%s|", qPrintable(currentHash));
     4043
     4044
     4045    on_signature();
    40314046    //QString verify  = privateExecuteRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/aee1a794-5fc7-4008-ac6d-de2e79583074.pdf",
    40324047    //                                     "admin","admin",method="post",postData);
    40334048
    4034     qDebug(".....................*Verify: newverify %s", qPrintable(newverify));
    40354049
    40364050 //   qDebug("Version: %s", qPrintable(version));
     
    40494063    qDebug("** on_windowPIN **");
    40504064
     4065    qDebug("**CALLING TEST on_windowPIN **");
    40514066    m_pin = new QDialog;
    40524067    close_PIN = "falso";
     
    41014116    m_pin->accept();
    41024117    m_nct = new CryptoToken();
    4103     QString hash("cdbc23b0c23e164225acd0dbf8afecc420ca61ded483a0a43d88d4a76916cc04");
     4118    //QString hash("e4b820914010e65a578435fd6839f8dfe1037915d39130902970355a272ce3b3");
     4119    //currentHash = hash;
    41044120
    41054121    try {
    4106         std::vector<unsigned char> result = m_nct->signHash(hash, m_campoContrasenia->text(), certSelect);
     4122        qDebug("Resultado Firma hash: |%s|", qPrintable(currentHash));
     4123        if (currentHash.isEmpty()) {
     4124            QMessageBox msgBox;
     4125            msgBox.setText("Hash esta vacio!");
     4126            msgBox.exec();
     4127            return;
     4128        }
     4129        QString pass = m_campoContrasenia->text();
     4130        qDebug("Resultado Firma pass: |%s|", qPrintable(pass));
     4131        std::vector<unsigned char> result = m_nct->signHash(currentHash, pass, certSelect);
    41074132        qDebug("** signature: ");
    4108         qDebug("Resultado %s", m_nct->toHex(result));
     4133        QString newsignature = QString(m_nct->toHex(result));
     4134        qDebug("Resultado Firma en HEX: |%s|", qPrintable(newsignature));
    41094135        open("/home/pbuitrago/Cenditel/Seguridad/POA-2015/Portal_verificacion_firma/reconocimientoMurachi-signed.pdf"); // para refrescar el archivo al firmado
    41104136        m_detailsSignatureView->setModel(view_table_verify_signature()); // refresca la table de verificación de firma electrónica
     4137        QString resenas = QString("{\"signature\":\"%1\"}").arg(newsignature);
     4138
     4139        qDebug("..............(1).......resenas: |%s|", qPrintable(resenas));
     4140
     4141        QString newcompleted =  executeRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs/resenas","admin","admin",resenas);
     4142
     4143        qDebug("..............(2).......resenas: |%s|", qPrintable(newcompleted));
    41114144        QMessageBox msgBox;
    41124145        msgBox.setText("El archivo se firmo con exitos..!");
     
    42474280    qDebug("Executing Executing...Rest...1");
    42484281
    4249     QNetworkAccessManager *manager = new QNetworkAccessManager(this);
     4282    if (manager == NULL) {
     4283            qDebug("Executing Executing..MANAGER new");
     4284            manager = new QNetworkAccessManager(this);
     4285            cookiesJar = new QNetworkCookieJar(this);
     4286            manager->setCookieJar(cookiesJar);
     4287    }
     4288
     4289
     4290
    42504291
    42514292    qDebug("Executing Executing...Rest...2");
     
    42644305    request.setSslConfiguration(conf);
    42654306
     4307   // if (url.endsWith("pdfs") ) {
     4308        qDebug("Credentials is TRUE, maybe");
     4309        //request.setAttribute(QNetworkRequest::CookieLoadControlAttribute, QVariant(QNetworkRequest::Manual));
     4310       // request.setAttribute(QNetworkRequest::CookieSaveControlAttribute, QVariant(QNetworkRequest::Manual));
     4311       // request.setAttribute(QNetworkRequest::AuthenticationReuseAttribute, QVariant(QNetworkRequest::Manual));
     4312   // }
    42664313    qDebug("Executing Rest...4");
    42674314
     
    42834330      //QNetworkReply *reply = manager->get(QNetworkRequest(QUrl("http://127.0.0.1:8000")));
    42844331      request.setHeader(QNetworkRequest::ContentTypeHeader,
    4285        //  "application/x-www-form-urlencoded");
    42864332      "application/json");
    42874333
     
    42904336      QString headerData = QString("Basic YWRtaW46YWRtaW4=");
    42914337      request.setRawHeader("Authorization", headerData.toUtf8());
     4338
     4339      request.setRawHeader("xhrFields", "{ withCredentials:true }");
    42924340
    42934341      //QNetworkReply *reply = manager->post(request, postData.encodedQuery());
Note: See TracChangeset for help on using the changeset viewer.