java sha1withrsa签名算法是怎么一回事

8911人阅读
安全算法(15)
sha1withRSA哈希算法分析
can any one tell what i2d_X509_SIG() function do..?
i am using openssl 0.9.8g. inside RSA_verify() function decrypoted data is given to the d21_X509_SIG function. what does this function do and why we are doing this step while signing and verifying
the signature
我正在使用openssl 0.98g.RSA_verify()函数解密数据调用了d2i_x509_sig函数,这个函数到底实现了什么,我们正在做签名和验签的项目。(译者:翻译不好见笑了)
asked Oct 4 '11 at 10:08
The signature is actually
not just for the hash (e.g. SHA-256), but for
a data structure containing the hash plus some metadata (which hashing algorithm, some parameters and the hash length).That's why after decrypting, the data is decoded into a X509_SIG object and the actual comparison against the reference only performed
on sig-&digest-&data.
这个签名事实上不仅是哈希(例如,SHA-256),而是一个哈希加上一些数据元素(哈希算法、一些参数和哈希长度)。这就是为什么解密到X509_SIG结构的和
sig-&digest-&data的数据不一致。
示例数据一
-------------------------------------------------------------------------------------------------------------------------------------------
哈希算法:sha1
3eda2b913d484b2ec347fe68200f25aadc041e1d199e1f288178bcbd08ad8dd4de3bac06bd9be9ceb8b6e392ba4d793c5a3012f42edc88daf92376c1efe099ba4f9a045b1fe26c80290bcafe93f438aa32c7c26ebfeb75726cae1fdba3d26f2a11313def6b4b2c4cfc0c928affda0652671dcd5cc66c72fd89ddafe0adfb211e470ac5c9ee39ff012b44d0a9b707fe0ecb85a8ed18951bec317d30af0fab7ee2d66db2aae713b55fad60bb
ba9a2d772ac64f5cee4bb297bcbc23c6d4e9d083ffcc881f989106fec5dc4427ffb4b9358d6ded2ae7d87b8e447b597c921aeade3b15e77df0cd2eba51ec970a0ec99ba15e40d867f2db8a47ac56f7ec4ee7c9e0a7a58f0ffe45fea4f55a0e6e5ffb2dabe4be6c7ddb4ce3d990f67e116ddce96f7af323ebcfffb16ff3d055e4cfe172fb6a17f016638ecf855c6e05b4c3da54de4a673d1ffe6c44b343fa367ba890f
0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff052b0e149bb631aed3ae693f0ff86ebf5d6f51
2b0e149bb631aed3ae693f0ff86ebf5d6f51(35字节 ? + 哈希值20字节)
sha1哈希值应该是20字节
数据拆分(ASN.1 结构)
30(类型Sequence) 21(总长度) 30(类型Sequence) 09(长度) 21a 05(类型NULL)00(长度为0) &04(类型字符串) 14(长度) 9bb631aed3ae693f0ff86ebf5d6f51(20字节哈希值)
示例数据二
----------------------------------------------------------------------------------------
为了验证X509_sign调用PKCS#11接口的情况,自己实现了一个PKCS#11的包装壳(68个导出函数),实现时注意C_GetFunctionList应该指向本包装壳的函数,不然错误的使用实际的C_GetFunctionList作返回结构便也就失去意义了。X509_sign的调用方式还是不同的,java中如果使用SHA1WithRSA传入到PKCS#11接口的C_Sign或者C_SignUpdate的数据是完整的明文,但是X509_sign传入的是一个ASN.1
Sequence的一个结构,结构中包含待签名数据的摘要散列。
举例来说:
待加密的数据是Hello World! ,在C_Sign传入的数据中就可以发现Hello World!的SHA-1的摘要散列。
待加密:Hello World!
SHA-1: 2EF7BDE608CEF042F95F89F1C232871&
30 21 30 09 06 05 2b 0e 03 02 1a 05 00 04 14
2e f7 bd e6 08 ce 54 04 e9 7d 5f 04 2f 95 f8 9f 1c 23 28 71&
使用ASN.1dump来观察就看的更加清楚了。
帖子截图:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:596208次
积分:8360
积分:8360
排名:第1862名
原创:196篇
转载:325篇
评论:65条
(17)(6)(1)(2)(8)(6)(2)(2)(7)(1)(20)(1)(2)(1)(7)(1)(1)(1)(2)(40)(3)(1)(9)(9)(6)(29)(2)(5)(10)(2)(4)(11)(11)(8)(6)(13)(2)(2)(2)(1)(4)(1)(8)(17)(17)(38)(4)(2)(2)(4)(6)(6)(7)(25)(1)(9)(7)(22)(4)(7)(13)(4)(7)(2)(22)(3)(8)(7)(22)(16)(1)(1)(1)获得java支持的所有安全算法以及对应的模式 - dikar云墨竹 - ITeye技术网站
博客分类:
记得之前由于android上AES算法实现时就遇到各种安全算法的问题,这次又有同事遇到了,之前看到一篇帖子不错,忘了记录下来,这次又找了出来,故在此分享下。
首先环境:
JAVA 1.6.0.27
获得所有支持的算法(查看源码可以知道来源)
public static void main(String[] args) {
for (Provider provider : Security.getProviders()){
System.out.println("Provider: " + provider.getName());
for (Provider.Service service : provider.getServices()){
System.out.println("
Algorithm: " + service.getAlgorithm());
System.out.println("\n");
结果如下 :
Provider: SUN
Algorithm: SHA1PRNG
Algorithm: SHA1withDSA
Algorithm: NONEwithDSA
Algorithm: DSA
Algorithm: MD2
Algorithm: MD5
Algorithm: SHA
Algorithm: SHA-256
Algorithm: SHA-384
Algorithm: SHA-512
Algorithm: DSA
Algorithm: DSA
Algorithm: DSA
Algorithm: X.509
Algorithm: JKS
Algorithm: CaseExactJKS
Algorithm: JavaPolicy
Algorithm: JavaLoginConfig
Algorithm: PKIX
Algorithm: PKIX
Algorithm: LDAP
Algorithm: Collection
Algorithm: com.sun.security.IndexedCollection
Provider: SunRsaSign
Algorithm: RSA
Algorithm: RSA
Algorithm: MD2withRSA
Algorithm: MD5withRSA
Algorithm: SHA1withRSA
Algorithm: SHA256withRSA
Algorithm: SHA384withRSA
Algorithm: SHA512withRSA
Provider: SunJSSE
Algorithm: RSA
Algorithm: RSA
Algorithm: MD2withRSA
Algorithm: MD5withRSA
Algorithm: SHA1withRSA
Algorithm: MD5andSHA1withRSA
Algorithm: SunX509
Algorithm: NewSunX509
Algorithm: SunX509
Algorithm: PKIX
Algorithm: SSL
Algorithm: SSLv3
Algorithm: TLS
Algorithm: TLSv1
Algorithm: Default
Algorithm: PKCS12
Provider: SunJCE
Algorithm: RSA
Algorithm: DES
Algorithm: DESede
Algorithm: DESedeWrap
Algorithm: PBEWithMD5AndDES
Algorithm: PBEWithMD5AndTripleDES
Algorithm: PBEWithSHA1AndRC2_40
Algorithm: PBEWithSHA1AndDESede
Algorithm: Blowfish
Algorithm: AES
Algorithm: AESWrap
Algorithm: RC2
Algorithm: ARCFOUR
Algorithm: DES
Algorithm: DESede
Algorithm: Blowfish
Algorithm: AES
Algorithm: RC2
Algorithm: ARCFOUR
Algorithm: HmacMD5
Algorithm: HmacSHA1
Algorithm: HmacSHA256
Algorithm: HmacSHA384
Algorithm: HmacSHA512
Algorithm: DiffieHellman
Algorithm: DiffieHellman
Algorithm: DiffieHellman
Algorithm: DiffieHellman
Algorithm: DES
Algorithm: DESede
Algorithm: PBE
Algorithm: PBEWithMD5AndDES
Algorithm: PBEWithMD5AndTripleDES
Algorithm: PBEWithSHA1AndDESede
Algorithm: PBEWithSHA1AndRC2_40
Algorithm: Blowfish
Algorithm: AES
Algorithm: RC2
Algorithm: OAEP
Algorithm: DiffieHellman
Algorithm: DES
Algorithm: DESede
Algorithm: PBEWithMD5AndDES
Algorithm: PBEWithMD5AndTripleDES
Algorithm: PBEWithSHA1AndDESede
Algorithm: PBEWithSHA1AndRC2_40
Algorithm: PBKDF2WithHmacSHA1
Algorithm: HmacMD5
Algorithm: HmacSHA1
Algorithm: HmacSHA256
Algorithm: HmacSHA384
Algorithm: HmacSHA512
Algorithm: HmacPBESHA1
Algorithm: SslMacMD5
Algorithm: SslMacSHA1
Algorithm: JCEKS
Algorithm: SunTlsPrf
Algorithm: SunTlsRsaPremasterSecret
Algorithm: SunTlsMasterSecret
Algorithm: SunTlsKeyMaterial
Provider: SunJGSS
Algorithm: 1.2.840..2.2
Algorithm: 1.3.6.1.5.5.2
Provider: SunSASL
Algorithm: DIGEST-MD5
Algorithm: GSSAPI
Algorithm: EXTERNAL
Algorithm: PLAIN
Algorithm: CRAM-MD5
Algorithm: CRAM-MD5
Algorithm: GSSAPI
Algorithm: DIGEST-MD5
Provider: XMLDSig
Algorithm: http://www.w3.org/2000/09/xmldsig#enveloped-signature
Algorithm: http://www.w3.org/2002/06/xmldsig-filter2
Algorithm: http://www.w3.org/2001/10/xml-exc-c14n#WithComments
Algorithm: http://www.w3.org/2001/10/xml-exc-c14n#
Algorithm: http://www.w3.org/TR/2001/REC-xml-c14n-#WithComments
Algorithm: DOM
Algorithm: http://www.w3.org/2000/09/xmldsig#base64
Algorithm: http://www.w3.org/TR/2001/REC-xml-c14n-
Algorithm: http://www.w3.org/TR/1999/REC-xpath-
Algorithm: http://www.w3.org/TR/1999/REC-xslt-
Algorithm: DOM
Provider: SunPCSC
Algorithm: PC/SC
Provider: SunMSCAPI
Algorithm: Windows-PRNG
Algorithm: Windows-MY
Algorithm: Windows-ROOT
Algorithm: NONEwithRSA
Algorithm: SHA1withRSA
Algorithm: SHA256withRSA
Algorithm: SHA384withRSA
Algorithm: SHA512withRSA
Algorithm: MD5withRSA
Algorithm: MD2withRSA
Algorithm: RSA
Algorithm: RSA
Algorithm: RSA/ECB/PKCS1Padding
获得算法支持的模式
public static void main(String[] args) {
for (Provider provider : Security.getProviders()){
System.out.println("Provider: " + provider.getName());
for (Provider.Service service : provider.getServices()){
System.out.println("
Pattern: " + service);
System.out.println("\n");
结果如下:
Provider: SUN
Pattern: SUN: SecureRandom.SHA1PRNG -& sun.security.provider.SecureRandom
attributes: {ImplementedIn=Software}
Pattern: SUN: Signature.SHA1withDSA -& sun.security.provider.DSA$SHA1withDSA
aliases: [DSA, DSS, SHA/DSA, SHA-1/DSA, SHA1/DSA, SHAwithDSA, DSAWithSHA1, OID.1.2.840., 1.2.840., 1.3.14.3.2.13, 1.3.14.3.2.27]
attributes: {ImplementedIn=Software, KeySize=1024, SupportedKeyClasses=java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey}
Pattern: SUN: Signature.NONEwithDSA -& sun.security.provider.DSA$RawDSA
aliases: [RawDSA]
attributes: {SupportedKeyClasses=java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey}
Pattern: SUN: KeyPairGenerator.DSA -& sun.security.provider.DSAKeyPairGenerator
aliases: [OID.1.2.840., 1.2.840., 1.3.14.3.2.12]
attributes: {ImplementedIn=Software, KeySize=1024}
Pattern: SUN: MessageDigest.MD2 -& sun.security.provider.MD2
Pattern: SUN: MessageDigest.MD5 -& sun.security.provider.MD5
attributes: {ImplementedIn=Software}
Pattern: SUN: MessageDigest.SHA -& sun.security.provider.SHA
aliases: [SHA-1, SHA1]
attributes: {ImplementedIn=Software}
Pattern: SUN: MessageDigest.SHA-256 -& sun.security.provider.SHA2
Pattern: SUN: MessageDigest.SHA-384 -& sun.security.provider.SHA5$SHA384
Pattern: SUN: MessageDigest.SHA-512 -& sun.security.provider.SHA5$SHA512
Pattern: SUN: AlgorithmParameterGenerator.DSA -& sun.security.provider.DSAParameterGenerator
attributes: {ImplementedIn=Software, KeySize=1024}
Pattern: SUN: AlgorithmParameters.DSA -& sun.security.provider.DSAParameters
aliases: [1.3.14.3.2.12, 1.2.840.]
attributes: {ImplementedIn=Software}
Pattern: SUN: KeyFactory.DSA -& sun.security.provider.DSAKeyFactory
aliases: [1.3.14.3.2.12, 1.2.840.]
attributes: {ImplementedIn=Software}
Pattern: SUN: CertificateFactory.X.509 -& sun.security.provider.X509Factory
aliases: [X509]
attributes: {ImplementedIn=Software}
Pattern: SUN: KeyStore.JKS -& sun.security.provider.JavaKeyStore$JKS
attributes: {ImplementedIn=Software}
Pattern: SUN: KeyStore.CaseExactJKS -& sun.security.provider.JavaKeyStore$CaseExactJKS
Pattern: SUN: Policy.JavaPolicy -& sun.security.provider.PolicySpiFile
Pattern: SUN: Configuration.JavaLoginConfig -& sun.security.provider.ConfigSpiFile
Pattern: SUN: CertPathBuilder.PKIX -& sun.security.provider.certpath.SunCertPathBuilder
attributes: {ValidationAlgorithm=RFC3280, ImplementedIn=Software}
Pattern: SUN: CertPathValidator.PKIX -& sun.security.provider.certpath.PKIXCertPathValidator
attributes: {ValidationAlgorithm=RFC3280, ImplementedIn=Software}
Pattern: SUN: CertStore.LDAP -& sun.security.provider.certpath.LDAPCertStore
attributes: {ImplementedIn=Software, LDAPSchema=RFC2587}
Pattern: SUN: CertStore.Collection -& sun.security.provider.certpath.CollectionCertStore
attributes: {ImplementedIn=Software}
Pattern: SUN: .sun.security.IndexedCollection -& sun.security.provider.certpath.IndexedCollectionCertStore
attributes: {ImplementedIn=Software}
Provider: SunRsaSign
Pattern: SunRsaSign: KeyFactory.RSA -& sun.security.rsa.RSAKeyFactory
aliases: [1.2.840..1, OID.1.2.840..1]
Pattern: SunRsaSign: KeyPairGenerator.RSA -& sun.security.rsa.RSAKeyPairGenerator
aliases: [1.2.840..1, OID.1.2.840..1]
Pattern: SunRsaSign: Signature.MD2withRSA -& sun.security.rsa.RSASignature$MD2withRSA
aliases: [1.2.840..1.2, OID.1.2.840..1.2]
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}
Pattern: SunRsaSign: Signature.MD5withRSA -& sun.security.rsa.RSASignature$MD5withRSA
aliases: [1.2.840..1.4, OID.1.2.840..1.4]
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}
Pattern: SunRsaSign: Signature.SHA1withRSA -& sun.security.rsa.RSASignature$SHA1withRSA
aliases: [1.2.840..1.5, OID.1.2.840..1.5, 1.3.14.3.2.29]
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}
Pattern: SunRsaSign: Signature.SHA256withRSA -& sun.security.rsa.RSASignature$SHA256withRSA
aliases: [1.2.840..1.11, OID.1.2.840..1.11]
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}
Pattern: SunRsaSign: Signature.SHA384withRSA -& sun.security.rsa.RSASignature$SHA384withRSA
aliases: [1.2.840..1.12, OID.1.2.840..1.12]
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}
Pattern: SunRsaSign: Signature.SHA512withRSA -& sun.security.rsa.RSASignature$SHA512withRSA
aliases: [1.2.840..1.13, OID.1.2.840..1.13]
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}
Provider: SunJSSE
Pattern: SunJSSE: KeyFactory.RSA -& sun.security.rsa.RSAKeyFactory
aliases: [1.2.840..1, OID.1.2.840..1]
Pattern: SunJSSE: KeyPairGenerator.RSA -& sun.security.rsa.RSAKeyPairGenerator
aliases: [1.2.840..1, OID.1.2.840..1]
Pattern: SunJSSE: Signature.MD2withRSA -& sun.security.rsa.RSASignature$MD2withRSA
aliases: [1.2.840..1.2, OID.1.2.840..1.2]
Pattern: SunJSSE: Signature.MD5withRSA -& sun.security.rsa.RSASignature$MD5withRSA
aliases: [1.2.840..1.4, OID.1.2.840..1.4]
Pattern: SunJSSE: Signature.SHA1withRSA -& sun.security.rsa.RSASignature$SHA1withRSA
aliases: [1.2.840..1.5, OID.1.2.840..1.5, 1.3.14.3.2.29, OID.1.3.14.3.2.29]
Pattern: SunJSSE: Signature.MD5andSHA1withRSA -& com.sun.net.ssl.internal.ssl.RSASignature
Pattern: SunJSSE: KeyManagerFactory.SunX509 -& com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509
Pattern: SunJSSE: KeyManagerFactory.NewSunX509 -& com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$X509
Pattern: SunJSSE: TrustManagerFactory.SunX509 -& com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$SimpleFactory
Pattern: SunJSSE: TrustManagerFactory.PKIX -& com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory
aliases: [SunPKIX, X509, X.509]
Pattern: SunJSSE: SSLContext.SSL -& com.sun.net.ssl.internal.ssl.SSLContextImpl
Pattern: SunJSSE: SSLContext.SSLv3 -& com.sun.net.ssl.internal.ssl.SSLContextImpl
Pattern: SunJSSE: SSLContext.TLS -& com.sun.net.ssl.internal.ssl.SSLContextImpl
Pattern: SunJSSE: SSLContext.TLSv1 -& com.sun.net.ssl.internal.ssl.SSLContextImpl
Pattern: SunJSSE: SSLContext.Default -& com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl
Pattern: SunJSSE: KeyStore.PKCS12 -& com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore
Provider: SunJCE
Pattern: SunJCE: Cipher.RSA -& com.sun.crypto.provider.RSACipher
attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey, SupportedPaddings=NOPADDING|PKCS1PADDING|OAEPWITHMD5ANDMGF1PADDING|OAEPWITHSHA1ANDMGF1PADDING|OAEPWITHSHA-1ANDMGF1PADDING|OAEPWITHSHA-256ANDMGF1PADDING|OAEPWITHSHA-384ANDMGF1PADDING|OAEPWITHSHA-512ANDMGF1PADDING, SupportedModes=ECB}
Pattern: SunJCE: Cipher.DES -& com.sun.crypto.provider.DESCipher
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}
Pattern: SunJCE: Cipher.DESede -& com.sun.crypto.provider.DESedeCipher
aliases: [TripleDES]
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}
Pattern: SunJCE: Cipher.DESedeWrap -& com.sun.crypto.provider.DESedeWrapCipher
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING, SupportedModes=CBC}
Pattern: SunJCE: Cipher.PBEWithMD5AndDES -& com.sun.crypto.provider.PBEWithMD5AndDESCipher
aliases: [OID.1.2.840..5.3, 1.2.840..5.3]
Pattern: SunJCE: Cipher.PBEWithMD5AndTripleDES -& com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher
Pattern: SunJCE: Cipher.PBEWithSHA1AndRC2_40 -& com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40
aliases: [OID.1.2.840..12.1.6, 1.2.840..12.1.6]
Pattern: SunJCE: Cipher.PBEWithSHA1AndDESede -& com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede
aliases: [OID.1.2.840..12.1.3, 1.2.840..12.1.3]
Pattern: SunJCE: Cipher.Blowfish -& com.sun.crypto.provider.BlowfishCipher
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}
Pattern: SunJCE: Cipher.AES -& com.sun.crypto.provider.AESCipher
aliases: [Rijndael]
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128}
Pattern: SunJCE: Cipher.AESWrap -& com.sun.crypto.provider.AESWrapCipher
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING, SupportedModes=ECB}
Pattern: SunJCE: Cipher.RC2 -& com.sun.crypto.provider.RC2Cipher
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}
Pattern: SunJCE: Cipher.ARCFOUR -& com.sun.crypto.provider.ARCFOURCipher
aliases: [RC4]
attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING, SupportedModes=ECB}
Pattern: SunJCE: KeyGenerator.DES -& com.sun.crypto.provider.DESKeyGenerator
Pattern: SunJCE: KeyGenerator.DESede -& com.sun.crypto.provider.DESedeKeyGenerator
aliases: [TripleDES]
Pattern: SunJCE: KeyGenerator.Blowfish -& com.sun.crypto.provider.BlowfishKeyGenerator
Pattern: SunJCE: KeyGenerator.AES -& com.sun.crypto.provider.AESKeyGenerator
aliases: [Rijndael]
Pattern: SunJCE: KeyGenerator.RC2 -& com.sun.crypto.provider.KeyGeneratorCore$RC2KeyGenerator
Pattern: SunJCE: KeyGenerator.ARCFOUR -& com.sun.crypto.provider.KeyGeneratorCore$ARCFOURKeyGenerator
aliases: [RC4]
Pattern: SunJCE: KeyGenerator.HmacMD5 -& com.sun.crypto.provider.HmacMD5KeyGenerator
Pattern: SunJCE: KeyGenerator.HmacSHA1 -& com.sun.crypto.provider.HmacSHA1KeyGenerator
Pattern: SunJCE: KeyGenerator.HmacSHA256 -& com.sun.crypto.provider.KeyGeneratorCore$HmacSHA256KG
Pattern: SunJCE: KeyGenerator.HmacSHA384 -& com.sun.crypto.provider.KeyGeneratorCore$HmacSHA384KG
Pattern: SunJCE: KeyGenerator.HmacSHA512 -& com.sun.crypto.provider.KeyGeneratorCore$HmacSHA512KG
Pattern: SunJCE: KeyPairGenerator.DiffieHellman -& com.sun.crypto.provider.DHKeyPairGenerator
aliases: [DH, OID.1.2.840..3.1, 1.2.840..3.1]
Pattern: SunJCE: AlgorithmParameterGenerator.DiffieHellman -& com.sun.crypto.provider.DHParameterGenerator
aliases: [DH, OID.1.2.840..3.1, 1.2.840..3.1]
Pattern: SunJCE: KeyAgreement.DiffieHellman -& com.sun.crypto.provider.DHKeyAgreement
aliases: [DH, OID.1.2.840..3.1, 1.2.840..3.1]
attributes: {SupportedKeyClasses=javax.crypto.interfaces.DHPublicKey|javax.crypto.interfaces.DHPrivateKey}
Pattern: SunJCE: AlgorithmParameters.DiffieHellman -& com.sun.crypto.provider.DHParameters
aliases: [DH, OID.1.2.840..3.1, 1.2.840..3.1]
Pattern: SunJCE: AlgorithmParameters.DES -& com.sun.crypto.provider.DESParameters
Pattern: SunJCE: AlgorithmParameters.DESede -& com.sun.crypto.provider.DESedeParameters
aliases: [TripleDES]
Pattern: SunJCE: AlgorithmParameters.PBE -& com.sun.crypto.provider.PBEParameters
Pattern: SunJCE: AlgorithmParameters.PBEWithMD5AndDES -& com.sun.crypto.provider.PBEParameters
aliases: [OID.1.2.840..5.3, 1.2.840..5.3]
Pattern: SunJCE: AlgorithmParameters.PBEWithMD5AndTripleDES -& com.sun.crypto.provider.PBEParameters
Pattern: SunJCE: AlgorithmParameters.PBEWithSHA1AndDESede -& com.sun.crypto.provider.PBEParameters
aliases: [OID.1.2.840..12.1.3, 1.2.840..12.1.3]
Pattern: SunJCE: AlgorithmParameters.PBEWithSHA1AndRC2_40 -& com.sun.crypto.provider.PBEParameters
aliases: [OID.1.2.840..12.1.6, 1.2.840..12.1.6]
Pattern: SunJCE: AlgorithmParameters.Blowfish -& com.sun.crypto.provider.BlowfishParameters
Pattern: SunJCE: AlgorithmParameters.AES -& com.sun.crypto.provider.AESParameters
aliases: [Rijndael]
Pattern: SunJCE: AlgorithmParameters.RC2 -& com.sun.crypto.provider.RC2Parameters
Pattern: SunJCE: AlgorithmParameters.OAEP -& com.sun.crypto.provider.OAEPParameters
Pattern: SunJCE: KeyFactory.DiffieHellman -& com.sun.crypto.provider.DHKeyFactory
aliases: [DH, OID.1.2.840..3.1, 1.2.840..3.1]
Pattern: SunJCE: SecretKeyFactory.DES -& com.sun.crypto.provider.DESKeyFactory
Pattern: SunJCE: SecretKeyFactory.DESede -& com.sun.crypto.provider.DESedeKeyFactory
aliases: [TripleDES]
Pattern: SunJCE: SecretKeyFactory.PBEWithMD5AndDES -& com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES
aliases: [OID.1.2.840..5.3, 1.2.840..5.3, PBE]
Pattern: SunJCE: SecretKeyFactory.PBEWithMD5AndTripleDES -& com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndTripleDES
Pattern: SunJCE: SecretKeyFactory.PBEWithSHA1AndDESede -& com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndDESede
aliases: [OID.1.2.840..12.1.3, 1.2.840..12.1.3]
Pattern: SunJCE: SecretKeyFactory.PBEWithSHA1AndRC2_40 -& com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_40
aliases: [OID.1.2.840..12.1.6, 1.2.840..12.1.6]
Pattern: SunJCE: SecretKeyFactory.PBKDF2WithHmacSHA1 -& com.sun.crypto.provider.PBKDF2HmacSHA1Factory
aliases: [OID.1.2.840..5.12, 1.2.840..5.12]
Pattern: SunJCE: Mac.HmacMD5 -& com.sun.crypto.provider.HmacMD5
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.HmacSHA1 -& com.sun.crypto.provider.HmacSHA1
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.HmacSHA256 -& com.sun.crypto.provider.HmacCore$HmacSHA256
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.HmacSHA384 -& com.sun.crypto.provider.HmacCore$HmacSHA384
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.HmacSHA512 -& com.sun.crypto.provider.HmacCore$HmacSHA512
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.HmacPBESHA1 -& com.sun.crypto.provider.HmacPKCS12PBESHA1
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.SslMacMD5 -& com.sun.crypto.provider.SslMacCore$SslMacMD5
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: Mac.SslMacSHA1 -& com.sun.crypto.provider.SslMacCore$SslMacSHA1
attributes: {SupportedKeyFormats=RAW}
Pattern: SunJCE: KeyStore.JCEKS -& com.sun.crypto.provider.JceKeyStore
Pattern: SunJCE: KeyGenerator.SunTlsPrf -& com.sun.crypto.provider.TlsPrfGenerator
Pattern: SunJCE: KeyGenerator.SunTlsRsaPremasterSecret -& com.sun.crypto.provider.TlsRsaPremasterSecretGenerator
Pattern: SunJCE: KeyGenerator.SunTlsMasterSecret -& com.sun.crypto.provider.TlsMasterSecretGenerator
Pattern: SunJCE: KeyGenerator.SunTlsKeyMaterial -& com.sun.crypto.provider.TlsKeyMaterialGenerator
Provider: SunJGSS
Pattern: SunJGSS: GssApiMechanism.1.2.840..2.2 -& sun.security.jgss.krb5.Krb5MechFactory
Pattern: SunJGSS: GssApiMechanism.1.3.6.1.5.5.2 -& sun.security.jgss.spnego.SpNegoMechFactory
Provider: SunSASL
Pattern: SunSASL: SaslClientFactory.DIGEST-MD5 -& com.sun.security.sasl.digest.FactoryImpl
Pattern: SunSASL: SaslClientFactory.GSSAPI -& com.sun.security.sasl.gsskerb.FactoryImpl
Pattern: SunSASL: SaslClientFactory.EXTERNAL -& com.sun.security.sasl.ClientFactoryImpl
Pattern: SunSASL: SaslClientFactory.PLAIN -& com.sun.security.sasl.ClientFactoryImpl
Pattern: SunSASL: SaslClientFactory.CRAM-MD5 -& com.sun.security.sasl.ClientFactoryImpl
Pattern: SunSASL: SaslServerFactory.CRAM-MD5 -& com.sun.security.sasl.ServerFactoryImpl
Pattern: SunSASL: SaslServerFactory.GSSAPI -& com.sun.security.sasl.gsskerb.FactoryImpl
Pattern: SunSASL: SaslServerFactory.DIGEST-MD5 -& com.sun.security.sasl.digest.FactoryImpl
Provider: XMLDSig
Pattern: XMLDSig: TransformService.http://www.w3.org/2000/09/xmldsig#enveloped-signature -& org.jcp.xml.dsig.internal.dom.DOMEnvelopedTransform
aliases: [ENVELOPED]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/2002/06/xmldsig-filter2 -& org.jcp.xml.dsig.internal.dom.DOMXPathFilter2Transform
aliases: [XPATH2]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/2001/10/xml-exc-c14n#WithComments -& org.jcp.xml.dsig.internal.dom.DOMExcC14NMethod
aliases: [EXCLUSIVE_WITH_COMMENTS]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/2001/10/xml-exc-c14n# -& org.jcp.xml.dsig.internal.dom.DOMExcC14NMethod
aliases: [EXCLUSIVE]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-#WithComments -& org.jcp.xml.dsig.internal.dom.DOMCanonicalXMLC14NMethod
aliases: [INCLUSIVE_WITH_COMMENTS]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: XMLSignatureFactory.DOM -& org.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory
Pattern: XMLDSig: TransformService.http://www.w3.org/2000/09/xmldsig#base64 -& org.jcp.xml.dsig.internal.dom.DOMBase64Transform
aliases: [BASE64]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/TR/2001/REC-xml-c14n- -& org.jcp.xml.dsig.internal.dom.DOMCanonicalXMLC14NMethod
aliases: [INCLUSIVE]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/TR/1999/REC-xpath- -& org.jcp.xml.dsig.internal.dom.DOMXPathTransform
aliases: [XPATH]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: TransformService.http://www.w3.org/TR/1999/REC-xslt- -& org.jcp.xml.dsig.internal.dom.DOMXSLTTransform
aliases: [XSLT]
attributes: {MechanismType=DOM}
Pattern: XMLDSig: KeyInfoFactory.DOM -& org.jcp.xml.dsig.internal.dom.DOMKeyInfoFactory
Provider: SunPCSC
Pattern: SunPCSC: TerminalFactory.PC/SC -& sun.security.smartcardio.SunPCSC$Factory
Provider: SunMSCAPI
Pattern: SunMSCAPI: SecureRandom.Windows-PRNG -& sun.security.mscapi.PRNG
Pattern: SunMSCAPI: KeyStore.Windows-MY -& sun.security.mscapi.KeyStore$MY
Pattern: SunMSCAPI: KeyStore.Windows-ROOT -& sun.security.mscapi.KeyStore$ROOT
Pattern: SunMSCAPI: Signature.NONEwithRSA -& sun.security.mscapi.RSASignature$Raw
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: Signature.SHA1withRSA -& sun.security.mscapi.RSASignature$SHA1
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: Signature.SHA256withRSA -& sun.security.mscapi.RSASignature$SHA256
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: Signature.SHA384withRSA -& sun.security.mscapi.RSASignature$SHA384
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: Signature.SHA512withRSA -& sun.security.mscapi.RSASignature$SHA512
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: Signature.MD5withRSA -& sun.security.mscapi.RSASignature$MD5
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: Signature.MD2withRSA -& sun.security.mscapi.RSASignature$MD2
attributes: {SupportedKeyClasses=sun.security.mscapi.Key}
Pattern: SunMSCAPI: KeyPairGenerator.RSA -& sun.security.mscapi.RSAKeyPairGenerator
attributes: {KeySize=1024}
Pattern: SunMSCAPI: Cipher.RSA -& sun.security.mscapi.RSACipher
attributes: {SupportedKeyClasses=sun.security.mscapi.Key, SupportedPaddings=PKCS1PADDING, SupportedModes=ECB}
Pattern: SunMSCAPI: Cipher.RSA/ECB/PKCS1Padding -& sun.security.mscapi.RSACipher
/questions/3683302/how-to-find-out-what-algorithm-encryption-are-supported-by-my-jvm
2: java_home\jre\lib\ext\sunjce_provider.jar
浏览: 1221653 次
来自: 杭州
大神,请接收我的膜拜吧,纠结了两天的问题,就这么让你给解决了
谢谢1楼,我也遇到,搞定了
学习了!!!!
感谢分享。我做个补充,也是关于PDF converting的相 ...
楼主太厉害了,我也遇到了

我要回帖

更多关于 sha1 rsa算法 的文章

 

随机推荐