gpt4 book ai didi

java - 我在使用 Telegram Bot API webhook 支持和通过 bouncycaSTLe 生成的自签名证书时遇到问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:28 44 4
gpt4 key购买 nike

这是我生成证书的代码。

KeyPairGenerator gen = KeyPairGenerator.getInstance("RSA");
gen.initialize(2048);
pair = gen.generateKeyPair();
privateKey = pair.getPrivate();
publicKey = pair.getPublic();
SubjectPublicKeyInfo publicKeyInfo = SubjectPublicKeyInfo.getInstance(publicKey.getEncoded());
X509v3CertificateBuilder builder = new X509v3CertificateBuilder(subjectDN, new BigInteger(serialNumber + ""),
startDate, endDate, subjectDN,
publicKeyInfo);
ContentSigner signer = new JcaContentSignerBuilder("SHA256withRSA").setProvider("BC").build(privateKey);
cert = new JcaX509CertificateConverter().getCertificate(builder.build(signer));

当我上传它并尝试通过 setWebhook API 方法设置 webhook 时,它失败了。

{"ok":false,"error_code":400,"description":"Bad webhook: Failed to set custom cert file"}

有人能告诉我我错过了什么吗?
编辑。这是我的 PEM 格式的公钥:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqA2BQC0cOGVns9USxRwk
2PQHtk3lfDqEdhmQjiW6U0RA102IbLx2ALizkegO9TwjFszynjRuq6KlQT4ctvEy
XyKpb9tMF5tRg2haDDEfyCfpKxuwQfjzYLLp+RqxLMsAngMaE3UwM6lyo9jYUHxD
sfQgUWkg6vCJ9b52/IAFYsuq14//J1ZrHRlYBnGImOroMWwLBmMZVmTxeB/QyTDc
gbj/uBbOKTckk7jchAxtO/PRVZ5nW2PWxAeE0FAtwhHHXTfwINqkcEmk21/jlpvT
GTHkkoxEl+BptvIKqrgSdvoTbHSVpn9U6ZJTV8ZVC46xcjiD/eFxr+dl3oZAjG6N
5wIDAQAB
-----END PUBLIC KEY-----

我使用多部分将其发送到服务器。

最佳答案

我遇到了同样的问题。公钥对于 Telegram 来说就足够了。确保以二进制形式附加证书并提供文件名。

final byte[] pemFileAsBytes = pemFileAsString.getBytes(StandardCharsets.UTF_8);
final HttpEntity httpEntity = MultipartEntityBuilder.create()
.addTextBody("url", webhookUrl)
.addBinaryBody("certificate", pemFileAsBytes, ContentType.APPLICATION_OCTET_STREAM, "telegram.pem")
.build();

关于java - 我在使用 Telegram Bot API webhook 支持和通过 bouncycaSTLe 生成的自签名证书时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37889985/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com