【发布时间】:2019-09-11 18:27:20
【问题描述】:
我正在尝试对时间戳服务器进行发布调用,但得到 500。这是我的代码:
Security.addProvider(new BouncyCastleProvider());
TimeStampRequestGenerator reqGen = new TimeStampRequestGenerator();
reqGen.setCertReq(true);
MessageDigest digest = MessageDigest.getInstance("SHA256");
digest.update(myData);
TimeStampRequest request = reqGen.generate(TSPAlgorithms.SHA256, digest.digest(), BigInteger.valueOf(100));
MediaType type = MediaType.parse("application/ocsp-request");
RequestBody requestBody = RequestBody.create(type, request.getEncoded());
Request request = new Request.Builder()
.url(myUrl)
.post(requestBody)
.addHeader("Content-type", "application/timestamp-query")
.addHeader("Content-Transfer-Encoding", "binary")
.addHeader("Authorization", Credentials.basic(myUser, myPass))
.build();
httpClient.newCall(request).enqueue(new Callback() {
public void onFailure(Call call, IOException e) {
Log.e(myTAG, "Error connecting to timestamp server");
}
public void onResponse(Call call, Response response) {
Log.e(myTAG, "Success");
}
});
我知道标头、凭据和 url 都是正确的,但我不确定是否将 TimeStampRequest 正确添加到 OkHttp 请求中,或者即使 MediaType 是它应该的。有谁知道对不对?
注意:TimeStamp 类属于 spongycastle 库。
【问题讨论】:
标签: java android okhttp spongycastle