public final class RSAPrivateKeys extends Object
PEM格式:
PKCS#1:RSA PRIVATE KEY
PKCS#8:PRIVATE KEY
PKCS#8加密:ENCRYPTED PRIVATE KEY("CERTIFICATE REQUEST", new PKCS10CertificationRequestParser());
("NEW CERTIFICATE REQUEST", new PKCS10CertificationRequestParser());
("CERTIFICATE", new X509CertificateParser());
("TRUSTED CERTIFICATE", new X509TrustedCertificateParser());
("X509 CERTIFICATE", new X509CertificateParser());
("X509 CRL", new X509CRLParser());
("PKCS7", new PKCS7Parser());
("CMS", new PKCS7Parser());
("ATTRIBUTE CERTIFICATE", new X509AttributeCertificateParser());
("EC PARAMETERS", new ECCurveParamsParser());
("PUBLIC KEY", new PublicKeyParser());
("RSA PUBLIC KEY", new RSAPublicKeyParser());
("RSA PRIVATE KEY", new KeyPairParser(new RSAKeyPairParser()));
("DSA PRIVATE KEY", new KeyPairParser(new DSAKeyPairParser()));
("EC PRIVATE KEY", new KeyPairParser(new ECDSAKeyPairParser()));
("ENCRYPTED PRIVATE KEY", new EncryptedPrivateKeyParser());
("PRIVATE KEY", new PrivateKeyParser());
RSA Private Key Convert| 限定符和类型 | 方法和说明 |
|---|---|
static RSAPublicKey |
extractPublicKey(RSAPrivateKey privateKey)
extract public key from private key
|
static RSAPrivateKey |
fromEncryptedPkcs8(byte[] encryptedPrivateKey,
org.bouncycastle.operator.InputDecryptorProvider inputDecryptor)
Parse private key from encrypted format
|
static RSAPrivateKey |
fromEncryptedPkcs8(byte[] encryptedPrivateKey,
String password)
Parse private key from encrypted format
|
static RSAPrivateKey |
fromEncryptedPkcs8(String encryptedPrivateKey,
org.bouncycastle.operator.InputDecryptorProvider inputDecryptor) |
static RSAPrivateKey |
fromEncryptedPkcs8(String encryptedPrivateKey,
String password) |
static RSAPrivateKey |
fromEncryptedPkcs8Pem(String encryptedPem,
org.bouncycastle.operator.InputDecryptorProvider inputDecryptor)
Parse private key from encrypted pem format
|
static RSAPrivateKey |
fromEncryptedPkcs8Pem(String encryptedPem,
String password)
Parse private key from encrypted pem format
default
JcePKCSPBEInputDecryptorProviderBuilder input decryptor |
static RSAPrivateKey |
fromPkcs1(String pkcs1PrivateKey)
parse private key from pkcs1 format
|
static RSAPrivateKey |
fromPkcs1Pem(String pemPrivateKey)
parse private key from pem format
|
static RSAPrivateKey |
fromPkcs8(String pkcs8PrivateKey)
parse private key from pkcs8 format
|
static RSAPublicKey |
inverse(RSAPrivateKey privateKey)
对于某些jdk不支持私钥加密及验签,所以要反转私钥为公钥
私钥伪造公钥来支持加密及验签
|
static String |
toEncryptedPkcs8(RSAPrivateKey privateKey,
org.bouncycastle.operator.OutputEncryptor outEncryptor)
Encrypts private key to pkcs#8 format
|
static String |
toEncryptedPkcs8(RSAPrivateKey privateKey,
String password)
Encrypts private key to pkcs#8 format
|
static String |
toEncryptedPkcs8Pem(RSAPrivateKey privateKey,
org.bouncycastle.operator.OutputEncryptor outEncryptor)
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICrjAoBgoqhkiG9w0BDAEDMBoEFA4ymXPHyGS9n5BRIibZHRkJ+idqAgIEAASC
AoA5TutO4A/F9MX4h3278DBIihEEetPGU7GxbmCySVsJraL8tXueMEZrLSDWC9rl
StJR82Umv0H8fpiMKlzYyHQjmqclY7e367+tQ87EqEenZNCCC1uveYLfBM7kZ+4/
m276IY6sNuJqYp3k8RrIBfYG9KCCQ7ywWiORuKvGbNAytFW9H+Z9JAyO5E70ysWe
pvfeLCFbRgJ0BOkm1aSyk81MN/alZ9d6a3d/UJLnnV42u7dS++mONVi66y6gKoON
Y5xVX2ICPRGoIvZmXeeQYzH02XFpTn9+vQ//KG4iGErXjNaWLSWpLyCY2qHQWwQ1
YB43aX7xYOiKUN24PMiwGKwjhBaKzakMt4lcmGNd6ZcwPC+ghhkmpPcCu4gSabQk
Etv5tmkChBLIjRgxmmnlEYLDl68e8vth5RquJvwB4zBOQkDo9tPcwWnOk4vbvGJP
w1WXfwHU4X4oy+FOiOTe7+lOTN6CeXxfx8a91h5zS1tA16bQLAgTA7oJGPD3yHpF
aBYXPNzwIOpAUkEqCSbZuuYZ5uidjrm7rV8nSjXu0fkYxzpXbQAps+NBtlKHFXNC
JWvj2g6UFtk/RoT4ghgtTx11DZUh+GsKbCjLM52omDDNLK8K+GOEFzElWiZIEWfh
yoUAN9KuuCprC3RsqV4K70nQewuiX5NBt9xYcaKVBQ5jRgL0xnVpquyFeFXrY0Ge
EDgOZTSUVVxlbNQ+iwBb52cD2cFmPcIszSNpQ85cS8eISdYiwaW42yUa7LYpO98S
jyTNnLzOMRt04gcBcp71EOWEheE9Ui6AqweSA6LUHulSbOK4+4oKtdKH5KjdcWYI
WDgTEoIGOC3se36z3v5Mlr8h
-----END ENCRYPTED PRIVATE KEY-----
convert private key to encrypted pem format
|
static String |
toEncryptedPkcs8Pem(RSAPrivateKey privateKey,
String password)
convert private key to encrypted pem format
default
PKCSObjectIdentifiers.pbeWithSHAAnd3_KeyTripleDES_CBC
algorithm for encrypt |
static String |
toPkcs1(RSAPrivateKey privateKey)
MIICXAIBAAKBgQCo20qAU4iyZIInpu2XzNXYHhFv6FVC/N1vsfz4ZrwX3VQaFsXf720QBkuP34Y31jy/6B+OB7DzklDBTnJXltCX2XdHyBY5WQYMX9rsQrfbvUL47u676FD1T8o1/e+cEOGS75mKQIQjyt1zCZOl26Hy6x4TPeBSdVzFNYSr7KNjLQIDAQABAoGALFd51v0YtpACRdtmJSjbNyeeOJ7wVOkGVWCOJ8UCu9mZTkiQqd+76itdCGkQW/VceqDAOJH4e93+auTozeuC1w/srrUuPASUsE/5VLwPBvR90kToC28B59wAdl31nD0KM8COq/9EdrkVkz6XO7KAik9gr3PLHCXu4i7tzf9djlkCQQDhagX7hsjJZ554Pr0uBhXHwMmhiLPOK1b3884Wc1rHTMShVGF3DJH6stJV5hXwzjXBwSA8zCbxGDsqVdmbQBkPAkEAv8Sv4GtdXCucN0GsZcRhvOmGhNkhQU7W3qkPqLaAvBzfCzT/Kty4YEWTlF+sCP1+/Chl7AHf4FQ+3ivNkftoAwJAEZ0YRJQ+okY/gsPcQnllQEuXNdEZw7VtQUjCxMxUvpgIEVcnmobX7VAF0YJ+GmfymWY+36FQNaygCunUbCYxDwJAQaKxS8+Tmbt3cVYyCnbnuP/4wbmLb03rrzQQHv+wGjKLiMtv1pzLInBN7ce9Gyqgbu/oypltpdtP1T0K1D9HPwJBAKskq4+amIGnJ7FxGiPXAi0+Y96QPbAR/WjXiIaLRvwRa4Jwy8U6E6HHfYYTeuuB7h1ga6kyzfB7nUeGyeWSSkI=
convert private key to base64 pkcs1 format
|
static String |
toPkcs1Pem(RSAPrivateKey privateKey)
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCo20qAU4iyZIInpu2XzNXYHhFv6FVC/N1vsfz4ZrwX3VQaFsXf
720QBkuP34Y31jy/6B+OB7DzklDBTnJXltCX2XdHyBY5WQYMX9rsQrfbvUL47u67
6FD1T8o1/e+cEOGS75mKQIQjyt1zCZOl26Hy6x4TPeBSdVzFNYSr7KNjLQIDAQAB
AoGALFd51v0YtpACRdtmJSjbNyeeOJ7wVOkGVWCOJ8UCu9mZTkiQqd+76itdCGkQ
W/VceqDAOJH4e93+auTozeuC1w/srrUuPASUsE/5VLwPBvR90kToC28B59wAdl31
nD0KM8COq/9EdrkVkz6XO7KAik9gr3PLHCXu4i7tzf9djlkCQQDhagX7hsjJZ554
Pr0uBhXHwMmhiLPOK1b3884Wc1rHTMShVGF3DJH6stJV5hXwzjXBwSA8zCbxGDsq
VdmbQBkPAkEAv8Sv4GtdXCucN0GsZcRhvOmGhNkhQU7W3qkPqLaAvBzfCzT/Kty4
YEWTlF+sCP1+/Chl7AHf4FQ+3ivNkftoAwJAEZ0YRJQ+okY/gsPcQnllQEuXNdEZ
w7VtQUjCxMxUvpgIEVcnmobX7VAF0YJ+GmfymWY+36FQNaygCunUbCYxDwJAQaKx
S8+Tmbt3cVYyCnbnuP/4wbmLb03rrzQQHv+wGjKLiMtv1pzLInBN7ce9Gyqgbu/o
ypltpdtP1T0K1D9HPwJBAKskq4+amIGnJ7FxGiPXAi0+Y96QPbAR/WjXiIaLRvwR
a4Jwy8U6E6HHfYYTeuuB7h1ga6kyzfB7nUeGyeWSSkI=
-----END RSA PRIVATE KEY-----
new PemObject("RSA PRIVATE KEY", toPkcs1Encode(privateKey))
convert private key to pem format
|
static String |
toPkcs8(RSAPrivateKey privateKey)
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKjbSoBTiLJkgiem7ZfM1dgeEW/oVUL83W+x/PhmvBfdVBoWxd/vbRAGS4/fhjfWPL/oH44HsPOSUMFOcleW0JfZd0fIFjlZBgxf2uxCt9u9Qvju7rvoUPVPyjX975wQ4ZLvmYpAhCPK3XMJk6XbofLrHhM94FJ1XMU1hKvso2MtAgMBAAECgYAsV3nW/Ri2kAJF22YlKNs3J544nvBU6QZVYI4nxQK72ZlOSJCp37vqK10IaRBb9Vx6oMA4kfh73f5q5OjN64LXD+yutS48BJSwT/lUvA8G9H3SROgLbwHn3AB2XfWcPQozwI6r/0R2uRWTPpc7soCKT2Cvc8scJe7iLu3N/12OWQJBAOFqBfuGyMlnnng+vS4GFcfAyaGIs84rVvfzzhZzWsdMxKFUYXcMkfqy0lXmFfDONcHBIDzMJvEYOypV2ZtAGQ8CQQC/xK/ga11cK5w3QaxlxGG86YaE2SFBTtbeqQ+otoC8HN8LNP8q3LhgRZOUX6wI/X78KGXsAd/gVD7eK82R+2gDAkARnRhElD6iRj+Cw9xCeWVAS5c10RnDtW1BSMLEzFS+mAgRVyeahtftUAXRgn4aZ/KZZj7foVA1rKAK6dRsJjEPAkBBorFLz5OZu3dxVjIKdue4//jBuYtvTeuvNBAe/7AaMouIy2/WnMsicE3tx70bKqBu7+jKmW2l20/VPQrUP0c/AkEAqySrj5qYgacnsXEaI9cCLT5j3pA9sBH9aNeIhotG/BFrgnDLxToTocd9hhN664HuHWBrqTLN8HudR4bJ5ZJKQg==
convert private key to pkcs8 format
|
static RSAPrivateKey |
toRSAPrivateKey(BigInteger modulus,
BigInteger privateExponent)
Build RSAPrivateKey with modulus and privateExponent
|
public static RSAPrivateKey toRSAPrivateKey(BigInteger modulus, BigInteger privateExponent)
modulus - privateExponent - public static RSAPublicKey inverse(RSAPrivateKey privateKey)
privateKey - public static RSAPublicKey extractPublicKey(RSAPrivateKey privateKey)
privateKey - public static String toPkcs1(RSAPrivateKey privateKey)
privateKey - public static RSAPrivateKey fromPkcs1(String pkcs1PrivateKey)
pkcs1PrivateKey - public static String toPkcs1Pem(RSAPrivateKey privateKey)
new PemObject("RSA PRIVATE KEY", toPkcs1Encode(privateKey)) convert private key to pem format
privateKey - public static RSAPrivateKey fromPkcs1Pem(String pemPrivateKey)
pemPrivateKey - encoded pem format private keypublic static String toPkcs8(RSAPrivateKey privateKey)
privateKey - public static RSAPrivateKey fromPkcs8(String pkcs8PrivateKey)
pkcs8PrivateKey - encoded base64 pkcs8 fromat private keypublic static String toEncryptedPkcs8Pem(RSAPrivateKey privateKey, org.bouncycastle.operator.OutputEncryptor outEncryptor)
convert private key to encrypted pem format
privateKey - the private keyoutEncryptor - the out encryptorpublic static String toEncryptedPkcs8Pem(RSAPrivateKey privateKey, String password)
PKCSObjectIdentifiers.pbeWithSHAAnd3_KeyTripleDES_CBC
algorithm for encryptprivateKey - password - public static String toEncryptedPkcs8(RSAPrivateKey privateKey, String password)
privateKey - the private keypassword - the passwordpublic static String toEncryptedPkcs8(RSAPrivateKey privateKey, org.bouncycastle.operator.OutputEncryptor outEncryptor)
privateKey - the private keyoutEncryptor - the OutputEncryptorpublic static RSAPrivateKey fromEncryptedPkcs8Pem(String encryptedPem, org.bouncycastle.operator.InputDecryptorProvider inputDecryptor)
encryptedPem - he encrypted peminputDecryptor - the InputDecryptorProviderpublic static RSAPrivateKey fromEncryptedPkcs8Pem(String encryptedPem, String password)
default JcePKCSPBEInputDecryptorProviderBuilder input decryptor
encryptedPem - the encrypted pempassword - the passwordpublic static RSAPrivateKey fromEncryptedPkcs8(String encryptedPrivateKey, String password)
public static RSAPrivateKey fromEncryptedPkcs8(byte[] encryptedPrivateKey, String password)
encryptedPrivateKey - the encryptedPrivateKeypassword - the passwordpublic static RSAPrivateKey fromEncryptedPkcs8(String encryptedPrivateKey, org.bouncycastle.operator.InputDecryptorProvider inputDecryptor)
public static RSAPrivateKey fromEncryptedPkcs8(byte[] encryptedPrivateKey, org.bouncycastle.operator.InputDecryptorProvider inputDecryptor)
encryptedPrivateKey - the encryptedPrivateKeyinputDecryptor - the InputDecryptorProviderCopyright © 2023. All rights reserved.