Changeset 63dadfc in terepaima for terepaima-0.4.16/sources/mainwindow.cpp
- Timestamp:
- Dec 14, 2017, 12:16:04 PM (7 years ago)
- Branches:
- stretch
- Children:
- ecd8d2e
- Parents:
- 9840ac5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
terepaima-0.4.16/sources/mainwindow.cpp
r9840ac5 r63dadfc 50 50 #include <QVBoxLayout> 51 51 #include <QWidgetAction> 52 #include <QNetworkAccessManager> 53 #include <QNetworkRequest> 54 #include <QUrlQuery> 52 55 53 56 #if QT_VERSION >= QT_VERSION_CHECK(5,0,0) … … 115 118 #include <stdio.h> 116 119 #include <QByteArray> 120 #include <QUrl> 121 #include <QNetworkReply> 122 117 123 118 124 #include "include/pkcs11.h" … … 3855 3861 void MainWindow::on_verify_signature() { 3856 3862 3863 qDebug("Entro en callMurachi()"); 3864 callMurachi(); 3865 qDebug("Salio en callMurachi()"); 3866 3857 3867 qDebug("Entro a on_verify_signature()"); 3858 3868 verify_signature(); … … 3959 3969 } 3960 3970 3971 void MainWindow::callMurachi() { 3972 3973 3974 // QString version = executeRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/version","admin","admin"); 3975 QString fileid = "c73efabb-d771-4328-be4f-36b11c4add57"; 3976 3977 QUrlQuery postData; 3978 //postData.addQueryItem("fileId", fileid); 3979 //postData.addQueryItem("certificate", certInHex); 3980 //postData.addQueryItem("reason", "Certificado"); 3981 //postData.addQueryItem("location", "CENDITEL"); 3982 //postData.addQueryItem("contact", "582746574336"); 3983 //postData.addQueryItem("signatureVisible","true" ); 3984 //postData.addQueryItem("signaturePage","1" ); 3985 //postData.addQueryItem("xPos","10" ); 3986 //postData.addQueryItem("yPos","10" ); 3987 //postData.addQueryItem("lastSignature","false" ); 3988 3989 QString parameters = QString("{\"fileId\":\"%1\",\"certificate\":\"%2\",\"reason\":\"Certificado\", \"location\":\"CENDITEL\", " 3990 "\"contact\":\"582746574336\",\"signatureVisible\":\"true\"," 3991 "\"signaturePage\":\"1\",\"xPos\":\"10\",\"yPos\":\"10\",\"lastSignature\":\"false\" }") 3992 .arg(fileid).arg(certInHex); 3993 3994 //postData.addQueryItem("", parameters); 3995 3996 /* QByteArray postData; 3997 postData.append(QString("fileId=%1&").arg(fileid)); 3998 postData.append(QString("certificate=%1&").arg(certInHex)); 3999 postData.append(QString("reason=%1&").arg("Certificado")); 4000 postData.append(QString("location=%1&").arg("CENDITEL")); 4001 postData.append(QString("contact=%1&").arg("582746574336")); 4002 postData.append(QString("signatureVisible=%1&").arg("true")); 4003 postData.append(QString("signaturePage=%1&").arg("1")); 4004 postData.append(QString("xPos=%1&").arg("10")); 4005 postData.append(QString("yPos=%1&").arg("10")); 4006 postData.append(QString("lastSignature=%1").arg("false")); 4007 4008 */ 4009 4010 //parameters = "{}"; 4011 4012 qDebug("Parameters: |%s|", qPrintable(parameters)); 4013 4014 // qDebug("Verifying...... SIGNED...fileid |%s|", qPrintable(fileid)); 4015 //qDebug("certInHex: |%s|", qPrintable(certInHex)); 4016 4017 // QString newverify = privateExecuteRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs", 4018 // "admin","admin", "post",postData); 4019 4020 // QString newverify = privateExecuteRest("https://192.168.12.154:8443/Murachi/0.1/archivos/pdfs", 4021 // "admin","admin", "post",postData); 4022 4023 //qDebug("Verifying...... SIGNED...hash |%s|", qPrintable(newverify)); 4024 4025 4026 //QUrlQuery postData1; 4027 4028 QString newverify = executeRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs","admin","admin" 4029 ,parameters); 4030 4031 //QString verify = privateExecuteRest("https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/aee1a794-5fc7-4008-ac6d-de2e79583074.pdf", 4032 // "admin","admin",method="post",postData); 4033 4034 qDebug(".....................*Verify: newverify %s", qPrintable(newverify)); 4035 4036 // qDebug("Version: %s", qPrintable(version)); 4037 4038 } 4039 3961 4040 void MainWindow::on_signature() { 3962 4041 qDebug("** on_signature **"); 4042 3963 4043 on_windowCertificate(); 3964 4044 } … … 4039 4119 } 4040 4120 4121 4122 4123 void MainWindow::handleNetworkData(QNetworkReply *networkReply) 4124 { 4125 qDebug("MainWindow::handleNetworkData....*1"); 4126 4127 QUrl url = networkReply->url(); 4128 4129 qDebug("MainWindow::handleNetworkData....*2"); 4130 4131 if (!networkReply->error()) { 4132 4133 QString response(networkReply->readAll()); 4134 _currentrest = response; 4135 qDebug("CALLING_REST_SERVICE....response: |%s|",qPrintable(response)); 4136 4137 4138 } else { 4139 qDebug("handleNetworkData OCURRED ERROR network error: |%s|",qPrintable(networkReply->errorString())); 4140 } 4141 4142 4143 networkReply->deleteLater(); 4144 } 4145 4146 4147 void MainWindow::slotError(QNetworkReply::NetworkError e) { 4148 4149 QString currenterror = QString("Error ocurred: |%1|").arg(e); 4150 4151 qDebug("Error network.............1"); 4152 //SYD << currenterror; 4153 4154 _currentrest = currenterror; 4155 4156 } 4157 4158 4159 4160 QString MainWindow::privateExecuteRest(const QString &url, const QString &name, 4161 const QString &pass, 4162 QString method, const QUrlQuery& postData ) 4163 { 4164 _currentrest = ""; 4165 4166 qDebug("Private Executing Rest...1"); 4167 4168 QNetworkAccessManager *manager = new QNetworkAccessManager(this); 4169 4170 // int nargs; 4171 // char** argv =NULL; 4172 // QCoreApplication myapp(nargs,argv); 4173 4174 4175 4176 QNetworkRequest request; 4177 QSslConfiguration conf = request.sslConfiguration(); 4178 conf.setPeerVerifyMode(QSslSocket::VerifyNone); 4179 // conf.setProtocol(QSsl::TlsV1SslV3); 4180 request.setSslConfiguration(conf); 4181 4182 4183 qDebug("Executing Rest...4"); 4184 4185 QUrl myurl(url); 4186 4187 // myurl.setUserName(name); 4188 // myurl.setPassword(pass); 4189 request.setUrl(myurl); 4190 qDebug("Private Executing Rest...URL CALLING:|%s|", qPrintable(url)); 4191 4192 qDebug("Private Executing Rest...4"); 4193 4194 connect(manager, SIGNAL(finished(QNetworkReply*)), 4195 this, SLOT(handleNetworkData(QNetworkReply*))); 4196 4197 4198 qDebug("Private Executing Rest...5"); 4199 QNetworkReply *reply = NULL; 4200 if (method == "post") { 4201 qDebug("Private Executing Rest...**6"); 4202 qDebug("CALLING_REST_SERVICE... method IS POST"); 4203 4204 request.setHeader(QNetworkRequest::ContentTypeHeader, 4205 "application/json"); 4206 QString headerData = QString("Basic YWRtaW46YWRtaW4="); 4207 request.setRawHeader("Authorization", headerData.toLocal8Bit()); 4208 4209 //QNetworkReply *reply = manager->post(request, postData.encodedQuery()); 4210 qDebug("Private Executing Rest...7"); 4211 4212 reply = manager->post(request, postData.toString(QUrl::FullyEncoded).toUtf8()); 4213 // reply = manager->post(request, postData); 4214 4215 4216 connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), 4217 this, SLOT(slotError(QNetworkReply::NetworkError))); 4218 4219 qDebug("Private Executing Rest...8"); 4220 4221 4222 } else { 4223 qDebug("CALLING_REST_SERVICE... method IS GET"); 4224 reply = manager->get(request); 4225 4226 } 4227 4228 4229 qDebug("Private Executing Rest...9"); 4230 QEventLoop loop; 4231 connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); 4232 loop.exec(); 4233 4234 4235 qDebug("Private Executing Rest...10"); 4236 QString result = _currentrest; 4237 //QString result = "....test1"; 4238 return result; 4239 4240 } 4241 4242 4243 4244 QString MainWindow::executeRest(const QString &url, const QString &name, const QString &pass, const QString& postData) { 4245 _currentrest = ""; 4246 4247 qDebug("Executing Executing...Rest...1"); 4248 4249 QNetworkAccessManager *manager = new QNetworkAccessManager(this); 4250 4251 qDebug("Executing Executing...Rest...2"); 4252 4253 //int nargs; 4254 //char** argv =NULL; 4255 //QCoreApplication myapp(nargs,argv); 4256 4257 qDebug("Executing Rest...3"); 4258 4259 QNetworkRequest request; 4260 QSslConfiguration conf = request.sslConfiguration(); 4261 conf.setPeerVerifyMode(QSslSocket::VerifyNone); 4262 //conf.setPeerVerifyMode(QSslSocket::AutoVerifyPeer); 4263 //conf.setProtocol(QSsl::AnyProtocol); 4264 request.setSslConfiguration(conf); 4265 4266 qDebug("Executing Rest...4"); 4267 4268 QUrl myurl(url); 4269 4270 //myurl.setUserName(name); 4271 //myurl.setPassword(pass); 4272 request.setUrl(myurl); 4273 4274 qDebug("Executing Rest...5"); 4275 4276 connect(manager, SIGNAL(finished(QNetworkReply*)), 4277 this, SLOT(handleNetworkData(QNetworkReply*))); 4278 4279 4280 qDebug("Executing Rest...6"); 4281 4282 request.setRawHeader("User-Agent", "MyOwnBrowser 1.0"); 4283 //QNetworkReply *reply = manager->get(QNetworkRequest(QUrl("http://127.0.0.1:8000"))); 4284 request.setHeader(QNetworkRequest::ContentTypeHeader, 4285 // "application/x-www-form-urlencoded"); 4286 "application/json"); 4287 4288 //request.setAttribute(QNetworkRequest::ConnectionEncryptedAttribute,QVariant(true)); 4289 4290 QString headerData = QString("Basic YWRtaW46YWRtaW4="); 4291 request.setRawHeader("Authorization", headerData.toUtf8()); 4292 4293 //QNetworkReply *reply = manager->post(request, postData.encodedQuery()); 4294 //QNetworkReply *reply = manager->get(request); 4295 4296 QNetworkReply *reply = manager->post(request, postData.toUtf8()); 4297 //QNetworkReply *reply = manager->post(request,postData.toString(QUrl::FullyEncoded).toUtf8()); 4298 qDebug("Executing Rest..............*7"); 4299 4300 connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), 4301 this, SLOT(slotError(QNetworkReply::NetworkError))); 4302 4303 QEventLoop loop; 4304 connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); 4305 loop.exec(); 4306 4307 connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), 4308 this, SLOT(slotError(QNetworkReply::NetworkError))); 4309 4310 qDebug("Executing Rest...8"); 4311 4312 QString result = _currentrest; 4313 //QString result = "....test1"; 4314 return result; 4315 4316 } 4317 4041 4318 void MainWindow::on_windowCertificate() { 4042 4319 … … 4058 4335 m_nct = new CryptoToken(); 4059 4336 4337 4338 4339 4060 4340 //Sección para verificar si hay dispositivo cryptografico conectado 4061 4341 try { 4062 4342 certificateInformationListN = m_nct->getDeviceCertificates(); //obtener los certificados disponible en el dispositivo 4343 4344 qDebug("******************* Certification Info **********************"); 4345 for(int i= 0; i < certificateInformationListN.size(); i++) { 4346 for(int j= 0; j < certificateInformationListN[i].size(); j++) { 4347 QString data = certificateInformationListN[i].at(j); 4348 if (j == 3) { 4349 certInHex = data; 4350 } 4351 qDebug(",,,,addngCERTIFICATION INFO %d %d: |%s|",i,j, qPrintable(data)); 4352 4353 } 4354 qDebug("................."); 4355 } 4063 4356 }catch(std::runtime_error e){ 4064 4357 ok = "falso"; … … 4070 4363 msgBox.exec(); 4071 4364 } 4365 4366 4072 4367 4073 4368 //Si hay dispositivo conectado creo la ventana para mostrar los certificados si hay disponibles
Note: See TracChangeset
for help on using the changeset viewer.