/// <summary> /// Sertifikaları birbirine (der to pfx, cer to pkcs12 vb) çevirir /// </summary> public ResConvertCertificate ConvertCertificate(ReqConvertCertificate req) { ResConvertCertificate resConvertCertificate = new ResConvertCertificate(); string inputPath = ConfigurationManager.AppSettings.Get("opensslTmpPath"); string inputFile = req.SourceFileName; string inputFullFilename = inputPath + inputFile; string outputPath = ConfigurationManager.AppSettings.Get("opensslTmpPath"); string outputFile = req.DestinationFileName; string outputFullFilename = outputPath + outputFile; switch (req.CertificateConvertType) { case ConvertType.PEMtoDER: ExecuteOpenSSL(string.Format("x509 -outform der -in {0} -out {1}", inputFullFilename, outputFullFilename)); break; case ConvertType.PEMtoP7B: ExecuteOpenSSL(string.Format("crl2pkcs7 -nocrl -certfile {0} -out {1}", inputFullFilename, outputFullFilename)); break; case ConvertType.PEMtoPFX: ExecuteOpenSSL(string.Format("pkcs12 -export -out {0} -inkey C:\\Users\\Yalcin\\Desktop\\test_private.key -in {1} -certfile C:\\Users\\Yalcin\\Desktop\\test_ca.crt", outputFullFilename, inputFullFilename)); // TODO: Oluşturulan dosyayı download et #YalcinG break; case ConvertType.DERtoPEM: ExecuteOpenSSL(string.Format("x509 -inform der -in {0} -out {1}", inputFullFilename, outputFullFilename)); break; case ConvertType.P7BtoPEM: ExecuteOpenSSL(string.Format("pkcs7 -print_certs -in {0} -out {1}", inputFullFilename, outputFullFilename)); break; case ConvertType.P7BtoPFX: ExecuteOpenSSL(string.Format("pkcs7 -print_certs -in {0} -out {1}", inputFullFilename, outputFullFilename)); //ExecuteOpenSSL("pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer"); break; case ConvertType.PFXtoPEM: ExecuteOpenSSL(string.Format("pkcs12 -in {0} -out {1} -nodes", inputFullFilename, outputFullFilename)); break; } File.Delete(inputFullFilename); string fileName = req.DestinationFileName.Substring(0, req.DestinationFileName.LastIndexOf('.')); string fileExt = req.DestinationFileName.Substring(req.DestinationFileName.LastIndexOf('.') + 1); resConvertCertificate.DownloadUrl = string.Format("/PaymentGateway/DownloadConvertedFile.ashx?file={0}&ext={1}", fileName, fileExt); return(resConvertCertificate); }
public ResConvertCertificate ConvertCertificate(ReqConvertCertificate req) { return(Call <ResConvertCertificate, ReqConvertCertificate>(req, MethodBase.GetCurrentMethod().Name)); }