我想使用URLFetch服务在Google
App Engine应用程序中打开 HTTPS* 连接。为了能够 验证我的应用正在 与之通信
的服务器的SSL证书,我使用了自己的密钥库文件
。我希望在加载我的应用程序时(即在执行任何HTTPS请求之前)在热身请求中读取此文件。密钥库文件是我的WAR文件的一部分。
*
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
keystore.load(ClassLoader.getSystemResourceAsStream("myKeystoreFile"), "password".toCharArray());
trustManagerFactory.init(keystore);
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, trustManagers, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
但是,我不能使用这种方法,因为HttpURLConnection在GAE的JRE白名单上,而HttpsUrlConnection不在。
还有另一种在GAE中使用自定义密钥库的方法吗?我没有在GAE文档中找到任何与此有关的信息。
看起来,虽然Google的URLFetch服务支持HTTPS,但密钥库无法自定义。 这样对吗?
如果这不可能,那么该方法总体上仍然有效吗?还是 有其他方法仍然可以让我验证SSL证书?
更新
2009年,来自Google的App Engine开发人员Nick
Johnson在https://groups.google.com/d/topic/google-appengine-
python/C9RSDGeIraE/discussion上说:
urlfetch API不允许您指定自己的客户端证书,因此很遗憾,目前尚无法实现。
这还正确吗? 如果App Engine中的每个HTTP请求都依赖于URLFetch,则这意味着自定义证书根本无法在GAE中使用。
要启用SSL很简单:只需填充以下属性: 但是我需要这种额外的行为:我需要一个自定义的加载逻辑,而不是从特定路径(server.ssl.key-store)加载证书:我需要使用例如AWS秘密服务或类似的方法来实现这种自定义方式。 那么,有可能吗?是否有可能在Spring中扩展这种默认行为,指定自定义加载器或类似的东西?
我想用AES加密实现一个自定义密钥,我找到了下面的实现和细节。 但我有以下几点疑虑: 如果我要使用典型的示例代码,例如: null https://www.securecoding.cert.org/confluence/display/java/msc61-j.+do+not+use+insecure+or+weak+cryptographic+算法 如何在Java中生成SALT值?
我是拉威尔的新手,我正在尝试使用Artisan命令。。。 它显示。。。 Laravel开发服务器已启动:http://127.0.0.1:8000 但是,当我手动输入时,它不会自动启动http://127.0.0.1:8000 它显示了这个错误: RuntimeException未指定应用程序加密密钥。 有什么想法吗?我正在使用Laravel framework 5.5-dev。
我正在尝试运行和测试一个SpringBoot应用程序,该应用程序已打包成zip文件并在Linux虚拟机上解压。zip包含应用程序所需的一切(至少据我所知)。当我尝试执行应用程序时,它会启动,但很快就会失败,因为它无法加载SSH/TLS安全通信所需的密钥库。 我的application.yml如下: 测试系统上的目录结构如下: 下面是抛出的异常: Spring Boot运行时显然可以看到并访问目录,
我正在尝试实现AES自定义密码加密,并希望了解下面的代码。 我不太理解为什么需要指定密钥大小256“pbekeyspec(password,salt,65536,256)”,而我已经使用了“pbkdf2withHMACSHA256”,它应该生成256位的SecretKey。 并且在使用我的密码+salt生成密钥之后,为什么我需要将它与SecretKeySpec作为AES算法关联起来。
我的客户端应用程序生成的数据在设备上加密。加密密钥通过HTTPS发送给Azure函数,该函数使用Azure密钥库存储加密密钥,以便其他授权的客户机可以获得加密密钥并解密数据。 下面是我的Azure函数中执行将加密密钥(秘密)保存在密钥库中的工作的一段代码: 问题 这样的设计是不是对Azure Key Vault的适当使用?