可以使用没有sun包或外部库的java.security生成CSR吗?

时间:2012-11-30 05:23:44

标签: java certificate csr

是否可以使用Java代码生成证书签名请求,而无需使用sun。*或com.sun。*包,也无需使用外部库?如果我需要使用像BouncyCastle这样的库,我会调查它,但到目前为止我所有的搜索只显示使用sun软件包或BouncyCastle的示例,如果可能的话,我更愿意坚持使用原始API。

而且,如果我正在尝试的是不可能的话,最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

我不认为这是可能的。接受这一点,直到有人得到更好的答案或成为可能。

FWIW,我最终使用shell来调用keytool来执行此操作。

答案 1 :(得分:0)

很抱歉很晚才回复,但我想我还是试过。充气城堡或Java库使您的生活变得更容易完成这项任务。但是如果您不能将这些库用于您的项目,那么我对您的回复仍然是“是”,但您必须非常熟悉ASN1编码。我认为没有理由不能让现有的CSR学习。当我不得不做类似的事情时,这个网站(http://lapo.it/asn1js/)非常了解ASN1。一旦您看到CSR的格式化,借助我之前提到的ASN1工具,就可以清楚地了解如何重新使用CSR示例供您使用。在高水平,你会

  1. 读入示例文件
  2. 通过TLV(type-length-value)编码解析
  3. 用您想要的数据替换字段
  4. 数字签名
  5. 嵌入签名
  6. 将内容写回文件
  7. java.security.Signature对象应该能够帮助您处理签名部分。