进度错误54 - 无法获得本地颁发者证书

时间:2018-01-18 13:14:38

标签: ssl certificate ssl-certificate openedge progress-4gl

我通过谷歌搜索尝试了解决方案。但我无法找到。

错误

  

错误代码-54:无法获取本地颁发者证书:对于c:\ Program Files(86)\ OpenEdge_113 \ cert(9318)中的6ae7a2a5.0。

我的理解 6ae7a2a5.0 是证书的uique id。但是我们无法找到要在服务器中安装的证书的名称。如何找到6ae7a2a5.0的证书名称?

将此网址从http更改为https并在IE中显示pdf文件时发生此问题

示例代码:

 private class LongOperation extends AsyncTask<String, Void, Integer> {
    @Override
    protected Integer doInBackground(String... params) {
        int movedCount=0;
        for (int i=0;i<selectedImages.size();i++) {
            File sourceImage = new File(al_images.get(int_position).getAl_imagepath().get(i));
            File destinationImage = new File(al_images.get(int_position).getStr_folder(), ".jpeg");
            try {
              boolean isMoved= copyOrMoveFile(sourceImage, destinationImage, true);
                if(isMoved) {
                    movedCount++;
                    callMediaScanner(ImageGallery.this, destinationImage.getAbsolutePath());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return movedCount;
    }

    @Override
    protected void onPostExecute(Integer val) {
        super.onPostExecute(val);
        // Here you have to modify return type of doInBackground as per your convineance
        if(val.intValue()==selectedImages.size()){
            Log.e("Moved","Allfile moved");
        }else{
            Log.e("Moved","Some file missing");
        }
    }
    public boolean copyOrMoveFile(File localFile, File destinationFile, boolean isCopy) {
            FileChannel outputChannel = null;
            FileChannel inputChannel = null;
            try {
                outputChannel = new FileOutputStream(destinationFile).getChannel();
                inputChannel = new FileInputStream(localFile).getChannel();
                inputChannel.transferTo(0, inputChannel.size(), outputChannel);
                inputChannel.close();
                if (!isCopy)
                    localFile.delete();
            } catch (Exception e) {
                e.printStackTrace();
                return false;
            } finally {
                try {
                    if (inputChannel != null) inputChannel.close();
                    if (outputChannel != null) outputChannel.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
        }
        return true;
    }
}

public void callMediaScanner(Context context, String path) {
    MediaScannerConnection.scanFile(context,
            new String[] { path }, null,null);
}

在cwsdl变量中,我们发送&#34; -wsdl -WSDL https://example.com/OnLineService.asmx?wsdl&#34;

我们已导入URL的所有必需证书。

1 个答案:

答案 0 :(得分:2)

浏览到您要访问的地址并下载证书。

如何执行此操作取决于您的浏览器。在Chrome中,您可以打开开发者工具,然后转到安全选项卡,按下查看证书:

enter image description here

选择证书并保存到文件(我有一个瑞典语Windows安装,所以它说Kopiera直到fil ...)

enter image description here

按照指南将证书另存为DER编码文件。

enter image description here

现在您需要在certutil - 环境中运行proenv来导入您的证书。

certutil -import <filename>

certutil -format DER-import <filename>

可能您可能需要为整个证书链重复此操作。

链条可以在您已经打开的证书对话框中找到 - 它有自己的标签:

enter image description here

发现官方指示here

在任何浏览器中,这或多或少都以相同的方式完成。