私の単体テスト用にx509証明書とキーペアを生成したい。私はjavac
にはないことを知っているsun.securityを除いたキーペアでX509Certificateを作成する方法
error: cannot find symbol
CertAndKeyGen certGen = new CertAndKeyGen("RSA", "SHA256WithRSA");
^
symbol: class CertAndKeyGen
location: class CertificationProviderSpecification
:
error: package sun.security.tools.keytool does not exist
と:
private Pair<String, String> generateTokenAndCertificate() {
try {
//Configure generator
CertAndKeyGen certGen = new CertAndKeyGen("RSA", "SHA256WithRSA");
certGen.generate(2048);
long validSecs = (long) 365 * 24 * 60 * 60; // valid for one year
//Token
CharSequence content = "test";
Signer signer = new RsaSigner((RSAPrivateKey) certGen.getPrivateKey());
String token = JwtHelper.encode(content, signer).getEncoded();
//Certificate
X500Name data = new X500Name("CN=Test Application,O=Company,L=City,C=DE");
X509Certificate cert = certGen.getSelfCertificate(data, validSecs);
Base64 encoder = new Base64();
String certificate = X509Factory.BEGIN_CERT + "\n";
certificate += encoder.encode(cert.getEncoded());
certificate += X509Factory.END_CERT + "\n";
return new Pair<>(token, certificate);
} catch (Exception e) {
return null;
}
}
問題は、私は
import sun.security.provider.X509Factory;
import sun.security.tools.keytool.CertAndKeyGen;
import sun.security.x509.X500Name;
を使用し、これらのようなエラーを持っているということです負荷がいっぱいrt.jar
に関してはct.sym
であり、私はまたはBouncy Castleによってこのようなエラーを解決することができました。
しかし、これらは、java.security
またはorg.springframework.security
で生成できますか?