是否可以在没有sun软件包或外部库的情况下使用java.security生成CSR?

是否可以在没有sun软件包或外部库的情况下使用java.security生成CSR?,java,certificate,csr,Java,Certificate,Csr,是否可以使用Java代码生成证书签名请求,而不使用sun.*或com.sun.*包,也不使用外部库?如果我需要使用像BouncyCastle这样的库,我会研究它,但我目前为止的搜索只显示了使用sun软件包或BouncyCastle的示例,如果可能的话,我更愿意使用原始API 而且,如果我正在尝试的是不可能的,那么最好的方法是什么呢?我认为这是不可能的。接受这个,直到有人有更好的答案或它成为可能 FWIW,我最终使用shell调用keytool来执行此操作。很抱歉响应太晚,但我想我还是会尝试一下。

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


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

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


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

很抱歉响应太晚,但我想我还是会尝试一下。BouncyCastle或Java库使您的生活更容易完成此任务。但是如果您不能在项目中使用这些库,那么我对您的回答仍然是“是”,但您必须熟悉ASN1编码。我看不出你有什么理由不能学习现有的企业社会责任。当我不得不做类似的事情时,这个网站()极大地帮助了我理解ASN1。在我前面提到的ASN1工具的帮助下,一旦您看到CSR是如何格式化的,就可以清楚地知道如何重新使用示例CSR。在高水平上,你会

  • 读入示例文件
  • 通过TLV(类型长度值)编码进行解析
  • 用所需数据替换字段
  • 数字签名
  • 嵌入签名
  • 将内容写回文件
  • java.security.Signature对象应该能够帮助您完成签名部分。

    在java 6()中是可能的,但在java 7中似乎不再可能。真是糟透了