sql-server - 如何找到 SSL 证书完整路径并在存储过程中使用以调用 API

标签 sql-server ssl asp.net-core certificate java-stored-procedures

如何找到 ssl 证书路径?那个由 VisualStudio 安装的,当我们使用 .NET Core 并在控制台运行“dotnet dev-certs https --trust”时更具体...

你们能帮帮我吗?

我尝试过的一切都只将我放在证书名称中。我看不到在该模式“LOCAL_MACHINE\My\'Certificate Name'上设置的路径。

我想在下面的 SQL 代码中像参数一样传递它:

EXEC @hResult = sp_OAMethod @目的, '设置选项', 无效的, 3、 'LOCAL_MACHINE\我的\'证书名称';

只是因为我正在尝试使用 SQL Server 调用 API,并且我需要使用该 SSL 证书来运行我的测试。

你们能帮帮我吗?

直到现在我收到的返回消息说它不是有效证书,但我认为这是因为我没有找到完整路径。

我不知道我是否说清楚了...只是总结...我需要通过 sql 执行此操作并且我需要知道如何使用 SSL 证书路径作为参数。

下面是我使用的代码:

begin
declare @test as int;
declare @Object as int;
declare @hResult as nvarchar(256)
declare @Response as nvarchar(256)

exec @test = sp_OACreate 'MSXML2.XMLHTTP', @Object out;
select @test, @Object;

EXEC @hResult = sp_OAMethod
           @Object,
           'setOption',
           NULL,
           3,
           'LOCAL_MACHINE\My\'Certificate Name';

exec @test = sp_OAMethod @Object, 'open', null, 'get',
 'https://localhost:44351/api/v1/account/3215', 'false'

select @test
exec @test = sp_OAMethod @Object, 'send'
IF @test <> 0 
BEGIN 
EXEC sp_OAGetErrorInfo @object 
RETURN 
END
exec sp_OAMethod @Object, 'responseText', @Response OUTPUT;
end

print @Response

最佳答案

我在使用相同的 VS 生成的证书时遇到了同样的问题。我可以在开始项目时安装的 certmgr(“个人”->“证书”->localhost)中找到名为“localhost”的证书。我添加了这一行:

EXEC @hr = sp_OAMethod @Object,'setOption',NULL,3,'LOCAL_MACHINE\My\localhost'; 

它奏效了。
但是,我发现我可以将行更改为任何内容并且它仍然有效,即:

EXEC @hr = sp_OAMethod @Object,'setOption',NULL,3,'LOCAL_MACHINE\My\bogusfake';

所以我不能保证这对你有用,也不能解释如何/为什么,但我能够继续从存储过程发布到本地 api 的项目。我看到我的代码和您的代码之间的唯一区别是我没有用引号将证书名称引起来。

关于sql-server - 如何找到 SSL 证书完整路径并在存储过程中使用以调用 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57680409/

相关文章:

.net core 2 中未加载 jQuery Grid css

mysql - 在加入 Sql 之间时如何用例

c# - 当 nvarchar(max) 的上限为 4000 个字符时,无法存储 HTML 页面

sql-server - 为什么我的内部连接不起作用

ssl - 将 $base_url 与安全 https 页面一起使用时出现问题

asp.net-core - 没有 ORM 的 ABP

sql查询动态返回行数

PHP CodeIgniter 如何将特定页面上的 Https(SSL) 设置为子域(例如 mypage.domain.com)?

apache - 强制重定向到除一个页面之外的所有页面的 SSL

c# - 在 Startup.cs 中使 ConfigureServices 方法异步