![](/img/trans.png)
[英]how do you access azure pipelines variables in a java maven project?
[英]How do you access an Azure / IIS certificate directly from Java?
从Azure / Windows方面...
当您通过http://msdn.microsoft.com/zh-cn/library/windowsazure/ff795779.aspx#upload进行包含ServiceConfiguration.Cloud.cscfg的步骤时,其中包含例如
<Certificates>
<Certificate name="www.myserver.com"
thumbprint="ad513653e4560fe4afce5bdac88c744fbcf93525"
thumbprintAlgorithm="sha1"/>
</Certificates>
和ServiceDefinition.build.csdef包含,例如
<Endpoints>
<InputEndpoint name="HttpIn" port="80" protocol="tcp" />
<InputEndpoint name="HttpsIn" protocol="tcp" port="443"/>
</Endpoints>
<Certificates>
<Certificate name="www.myserver.com"
thumbprint="AD513653E4560FE4AFCE5BDAC88C744FBCF93525"
thumbprintAlgorithm="sha1" />
</Certificates>
并且带有此指纹的证书通过Azure平台Web控制台上传到我们的托管服务,然后在Azure实例启动时将该证书部署到IIS中的服务器证书。 我们可以将RDP导入实例,并在IIS控制台的服务器证书中查看证书。
从Java方面看...
当您使用以下命令连接到Java中的“ Windows-MY”密钥库时
KeyStore keystore = KeyStore.getInstance("Windows-MY");
keystore.load(null, null);
然后查找可用的密钥库,您不会看到此证书。 如果我们将RDP导入Azure实例并通过certmgr.msc手动添加证书,则我们的Java进程确实会使用“ Windows-MY”密钥库看到该证书。
我看到了许多Java / Azure证书集成示例-例如http://blogs.msdn.com/b/avkashchauhan/archive/2010/11/07/adding-ssl-https-security-with-tomcat-java-solution- in-windows-azure.aspx-将证书导出到密钥存储文件中,然后将其与azure软件包一起部署,但是我们希望找到一种方法,可以独立于软件包生成和使用标准Azure来管理证书证书管理方法。 请注意,我们无法使用将要使用的证书,因为它是由另一方管理的。
我还将看到有关如何使用.net代码获取此证书的示例,例如, 如何在Windows Azure上的代码中获取证书 。
您将如何直接从Java访问此Azure部署的证书? 它是否已部署到“ Windows-MY”以外的另一个密钥库中? 您可以直接通过Java从IIS中的服务器证书访问证书吗?
谢谢,
更新(5月20日)
我们从某人那里获得了一个提示,可以使用ServiceDefinition.csdef文件中的storeLocation =“ CurrentUser”,听起来像它应该完成任务,例如
<Certificate name="www.myserver.com"
storeLocation="CurrentUser" storeName="My" />
但是由于某种原因,Azure似乎没有将证书部署到CurrentUser存储中。 我只有在storeLocation设置为LocalMachine的情况下才看到部署到服务器的证书(如上所述),这最终会在Java似乎无法访问的Local Machine证书存储区中结束
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.