一键信任自签名证书小程序
分享
作者:徐鸿至 发布时间: 2017-2-8
概览
ArcGIS Enterprise产品体系中,在调试、测试环境下,大量使用了自签名证书,Server,Portal,DataStore,WebAdaptor每一个产品默认都使用了自签名证书。手动在浏览器中去下载,安装,信任这些自签名证书是单调且枯燥的工作(而且由于浏览器的缓存,信任了证书之后大部分情况下还需要重启浏览器)。该小工具就是为了把我们从以上重复劳动中解放出来而开发的。
说明:
直接下载地址
源码
信任证书需要管理员权限,程序启动后会自动请求管理员权限。默认会读取本机的FQDN,如果需要信任远程机器的证书,请手动填写正确的远程机器的FQDN或者IP地址。默认端口是Server(6443),Portal(7443),DataStore(2443),IIS(443)端口,可以根据实际情况信任所需的SSL端口。
关键代码
X509Certificate2 cert = null;
using (TcpClient client = new TcpClient())
{
client.Connect(url, port);
//建立SSL链接并且忽略证书错误
SslStream ssl = new SslStream(client.GetStream(), false,
new RemoteCertificateValidationCallback(
(sender, certificate, chain, sslPolicyErrors) =>
{
return true;
}
), null);
try
{
ssl.AuthenticateAsClient(url);
}
catch (AuthenticationException e)
{
ssl.Close();
client.Close();
}
catch (Exception e)
{
ssl.Close();
client.Close();
}
//将远程证书保存
cert = new X509Certificate2(ssl.RemoteCertificate);
ssl.Close();
client.Close();
return cert;
}
//将保存下来的远程证书数组插入本地信任根证书(需要管理员权限)
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.AddRange(certs);
store.Close();
系统需求:
.Net Framework 4.0及以上
文章来源:
https://github.com/crazyxhz/TrustSelfSignedCertificates/blob/master/README_CN.md
作者:徐鸿至 发布时间: 2017-2-8
概览
ArcGIS Enterprise产品体系中,在调试、测试环境下,大量使用了自签名证书,Server,Portal,DataStore,WebAdaptor每一个产品默认都使用了自签名证书。手动在浏览器中去下载,安装,信任这些自签名证书是单调且枯燥的工作(而且由于浏览器的缓存,信任了证书之后大部分情况下还需要重启浏览器)。该小工具就是为了把我们从以上重复劳动中解放出来而开发的。
说明:
直接下载地址
源码
信任证书需要管理员权限,程序启动后会自动请求管理员权限。默认会读取本机的FQDN,如果需要信任远程机器的证书,请手动填写正确的远程机器的FQDN或者IP地址。默认端口是Server(6443),Portal(7443),DataStore(2443),IIS(443)端口,可以根据实际情况信任所需的SSL端口。
关键代码
X509Certificate2 cert = null;
using (TcpClient client = new TcpClient())
{
client.Connect(url, port);
//建立SSL链接并且忽略证书错误
SslStream ssl = new SslStream(client.GetStream(), false,
new RemoteCertificateValidationCallback(
(sender, certificate, chain, sslPolicyErrors) =>
{
return true;
}
), null);
try
{
ssl.AuthenticateAsClient(url);
}
catch (AuthenticationException e)
{
ssl.Close();
client.Close();
}
catch (Exception e)
{
ssl.Close();
client.Close();
}
//将远程证书保存
cert = new X509Certificate2(ssl.RemoteCertificate);
ssl.Close();
client.Close();
return cert;
}
//将保存下来的远程证书数组插入本地信任根证书(需要管理员权限)
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.AddRange(certs);
store.Close();
系统需求:
.Net Framework 4.0及以上
文章来源:
https://github.com/crazyxhz/TrustSelfSignedCertificates/blob/master/README_CN.md
0 个评论
推荐内容
- ArcGIS Enterprise11.0基础部署_以Redhat8.6上单机安装为例
- ArcGIS Enterprise11基础部署_以Windows server 2016Datacenter上单机安装为例
- ArcGIS Pro 2.4向独立server发布服务步骤
- 远程连接关系型Datastore10.6.1以及Portal内置pg库
- ArcGIS Pro发布高程图层到ArcGIS Enterprise/ArcGIS Online的工作流(译)
- Linux上安装ArcGIS Enterprise超详细教程——以Redhat7.2上安装ArcGIS Enterprise 10.5为例
- ArcGIS for Server 10.x 许可授权手册
- Portal for ArcGIS 10.X许可授权手册 (Windows版)
- SDE空间索引的内部运行机制2
- SDE空间索引的内部运行机制1
相关问题
- GIS类专业能考的资格证书有哪些
- AE中SDE空间内移动要素类FeatureClass,提示参考系不一样(程序中修改了参照系)
- Engine程序Backgroundworker中生成点很慢
- Engine 9.3程序升级为10.2需要注意些什么?
- ArcgisEngine中CAD要素导入SDE,程序报错
- ArcGIS Server注册Oracle数据库出错 [ORA-12504]:监听程序无法获得SERVICE_NAME
- ArcSDE10.2的esri_sd服务启动后停止,报“某些服务在未由其他服务或程序使用时将自动停止”错误。
- AO程序中如何获取打开的MXD文档的路径
- ArcGIS Runtime SDk 100.2.1 for .Net 程序部署问题
- 请问我的Arc Pro总是弹出“本页要求建立包含服务器验证功能的安全链接。本站点的证书颁发商不可信或身份不明”的弹出框,怎么解决呢?!
- Online 增加Web服务,提示hppts证书问题