MATLAB忽略安全证书

时间:2018-04-28 11:51:56

标签: matlab ssl

我需要使用MATLAB从互联网访问一些XML,为了得到它,我需要手动从网站下载安全证书,并使用以下功能和下载的证书;

% Title: inportcert
% Author: MathWorks Support Team
% Code Version: 1.0
% Type: MATLAB soruce code https://www.mathworks.com/matlabcentral/answers/uploaded_files/1142/importcert.m
function importcert(filename)
    if (nargin == 0)
        % If no certificate specified show open file dialog to select
        [filename,path] = uigetfile({'*.cer;*.crt','Certificates 
        (*.cer,*.crt)'},'Select Certificate');
        if (filename==0), return, end
            filename = fullfile(path,filename);
    end
    % Determine Java keytool location and cacerts location
    keytool = fullfile(matlabroot,'sys','java','jre',computer('arch'),'jre','bin','keytool');
    cacerts = fullfile(matlabroot,'sys','java','jre',computer('arch'),'jre','lib','security','cacerts');
    % Create backup of cacerts
    if (~exist([cacerts '.org'],'file'))
       % copyfile(cacerts,[cacerts '.org'])
    end
    % Construct and execute keytool
    command = sprintf('"%s" -import -file "%s" -keystore "%s" -storepass 
    changeit -noprompt',keytool,filename,cacerts);
    dos(command);

这将允许我使用以下命令;

xmlread('https://finds.org.uk/database/images/index/format/xml');

这些证书过期,我无法在那时手动更改证书,所以我想知道是否;

A)我可以使用MATLAB自动下载证书而不是手动下载

B)完全忽略证书,安全性不是问题。

C)最好在不需要管理员权限的情况下执行A或B

注意:如果您使用基于Windows的系统,使用MacOSX或Linux,您似乎需要完成此过程,您无需导入证书并且无需获取SSL握手即可访问该页面错误。

0 个答案:

没有答案