用于使用Google KMS加密的URL中的错误404

时间:2018-03-20 19:53:08

标签: google-cloud-kms

我正在按照教程使用google cloud kms加密数据,但是当我尝试加密时会给我404错误。我在代码中找到并注意到它有DEFAULT_ROOT_URL = https://cloudkms.googleapis.com/。但是URL的根目录没有出现在URL中,然后couse给出了错误404.有人可以告诉我为什么没有相应地安装URL。我查看属性,没有Root_URL的参考。

`

在此服务器上找不到请求的网址/v1beta1/projects/condoease-3f3ea/locations/global/keyRings/test/cryptoKeys/quickstart:encrypt。这就是我们所知道的。

at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1056)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at com.example.getstarted.util.CloudKeyManagementServiceHelper.wrapDataEncryptionKey(CloudKeyManagementServiceHelper.java:129)
at com.example.getstarted.util.CloudStorageHelper.getImageUrl(CloudStorageHelper.java:121)
at com.example.getstarted.basicactions.CreateBookServlet.doPost(CreateBookServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
at com.example.getstarted.util.DatastoreSessionFilter.doFilter(DatastoreSessionFilter.java:111)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:518)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)

`

2 个答案:

答案 0 :(得分:0)

https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/kms有一个很好的示例可以帮助您入门。我不认为get-started-java有KMS样本(我知道)。

您使用的是哪个版本的库? 您的网址正在使用/ v1beta1 /,这让我觉得您使用的是旧版本。 Cloud KMS是GA,应该是/ v1 /.

更新

完全披露我是Cloud KMS的Google工程师。

https://codelabs.developers.google.com/codelabs/cloud-bookshelf-java-cloud-kms看起来有下载旧版Java客户端库的说明,该库正在构建到v1beta1的损坏的URL。我们已在内部提交了一个问题,以便尽快解决此问题,感谢您发布问题!

与此同时,我鼓励上面的github link让你开始使用KMS。感谢您使用该产品!

答案 1 :(得分:0)

不再支持API版v1beta1;你能告诉我们你在哪里找到它吗?我想修好它。

如果您在网址的其他部分出错,也会收到此无法提供的错误消息,例如遗漏了/projects//locations//keyRings/或{{ 1}}。我们将着眼于改进它。