From: <ls...@us...> - 2011-03-05 13:14:01
|
Revision: 5803 http://jnode.svn.sourceforge.net/jnode/?rev=5803&view=rev Author: lsantha Date: 2011-03-05 13:13:50 +0000 (Sat, 05 Mar 2011) Log Message: ----------- Integrating OpenJDK 6 b22. Modified Paths: -------------- classlib6/core/src/openjdk/sun/sun/security/jgss/krb5/InitialToken.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/Config.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/JarVerifier.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/KeyCache.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Cipher.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DHKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DSAKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Digest.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECDHKeyAgreement.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Key.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyAgreement.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyFactory.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyGenerator.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyPairGenerator.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyStore.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Mac.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11RSACipher.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11RSAKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11SecretKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11SecureRandom.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Signature.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11TlsMasterSecretGenerator.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11TlsPrfGenerator.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Util.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/Session.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/SessionManager.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/SunPKCS11.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/TemplateManager.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/Token.java classlib6/core/src/openjdk/sun/sun/security/pkcs11/wrapper/PKCS11Exception.java classlib6/core/src/openjdk/sun/sun/security/provider/ByteArrayAccess.java classlib6/core/src/openjdk/sun/sun/security/provider/DSA.java classlib6/core/src/openjdk/sun/sun/security/provider/DSAKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/provider/DSAKeyPairGenerator.java classlib6/core/src/openjdk/sun/sun/security/provider/DSAParameterGenerator.java classlib6/core/src/openjdk/sun/sun/security/provider/DSAParameters.java classlib6/core/src/openjdk/sun/sun/security/provider/DSAPrivateKey.java classlib6/core/src/openjdk/sun/sun/security/provider/DSAPublicKey.java classlib6/core/src/openjdk/sun/sun/security/provider/DigestBase.java classlib6/core/src/openjdk/sun/sun/security/provider/IdentityDatabase.java classlib6/core/src/openjdk/sun/sun/security/provider/JavaKeyStore.java classlib6/core/src/openjdk/sun/sun/security/provider/KeyProtector.java classlib6/core/src/openjdk/sun/sun/security/provider/MD2.java classlib6/core/src/openjdk/sun/sun/security/provider/MD5.java classlib6/core/src/openjdk/sun/sun/security/provider/ParameterCache.java classlib6/core/src/openjdk/sun/sun/security/provider/PolicyFile.java classlib6/core/src/openjdk/sun/sun/security/provider/PolicyParser.java classlib6/core/src/openjdk/sun/sun/security/provider/SHA.java classlib6/core/src/openjdk/sun/sun/security/provider/SHA2.java classlib6/core/src/openjdk/sun/sun/security/provider/SHA5.java classlib6/core/src/openjdk/sun/sun/security/provider/SecureRandom.java classlib6/core/src/openjdk/sun/sun/security/provider/SeedGenerator.java classlib6/core/src/openjdk/sun/sun/security/provider/Sun.java classlib6/core/src/openjdk/sun/sun/security/provider/SunEntries.java classlib6/core/src/openjdk/sun/sun/security/provider/SystemIdentity.java classlib6/core/src/openjdk/sun/sun/security/provider/SystemSigner.java classlib6/core/src/openjdk/sun/sun/security/provider/VerificationProvider.java classlib6/core/src/openjdk/sun/sun/security/provider/X509Factory.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/AdjacencyList.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/BasicChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/BuildStep.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/Builder.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/CertId.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/CertPathHelper.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/CollectionCertStore.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/ConstraintsChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/CrlRevocationChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/DistributionPointFetcher.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/ForwardBuilder.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/ForwardState.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/IndexedCollectionCertStore.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/KeyChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/LDAPCertStore.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/OCSPChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/OCSPRequest.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/OCSPResponse.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/PKIXCertPathValidator.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/PKIXMasterCertPathValidator.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/PolicyChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/PolicyNodeImpl.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/ReverseBuilder.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/ReverseState.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/State.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/SunCertPathBuilder.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/SunCertPathBuilderException.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/SunCertPathBuilderParameters.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/SunCertPathBuilderResult.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/URICertStore.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/Vertex.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/X509CertPath.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/X509CertificatePair.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSACore.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSAKeyFactory.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSAKeyPairGenerator.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSAPadding.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSAPrivateCrtKeyImpl.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSAPrivateKeyImpl.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSAPublicKeyImpl.java classlib6/core/src/openjdk/sun/sun/security/rsa/RSASignature.java classlib6/core/src/openjdk/sun/sun/security/rsa/SunRsaSign.java classlib6/core/src/openjdk/sun/sun/security/rsa/SunRsaSignEntries.java classlib6/core/src/openjdk/sun/sun/security/ssl/Alerts.java classlib6/core/src/openjdk/sun/sun/security/ssl/AppInputStream.java classlib6/core/src/openjdk/sun/sun/security/ssl/AppOutputStream.java classlib6/core/src/openjdk/sun/sun/security/ssl/BaseSSLSocketImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/ByteBufferInputStream.java classlib6/core/src/openjdk/sun/sun/security/ssl/CipherBox.java classlib6/core/src/openjdk/sun/sun/security/ssl/CipherSuite.java classlib6/core/src/openjdk/sun/sun/security/ssl/CipherSuiteList.java classlib6/core/src/openjdk/sun/sun/security/ssl/ClientHandshaker.java classlib6/core/src/openjdk/sun/sun/security/ssl/DHClientKeyExchange.java classlib6/core/src/openjdk/sun/sun/security/ssl/DHCrypt.java classlib6/core/src/openjdk/sun/sun/security/ssl/Debug.java classlib6/core/src/openjdk/sun/sun/security/ssl/DefaultSSLContextImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/ECDHClientKeyExchange.java classlib6/core/src/openjdk/sun/sun/security/ssl/ECDHCrypt.java classlib6/core/src/openjdk/sun/sun/security/ssl/EngineArgs.java classlib6/core/src/openjdk/sun/sun/security/ssl/EngineInputRecord.java classlib6/core/src/openjdk/sun/sun/security/ssl/EngineOutputRecord.java classlib6/core/src/openjdk/sun/sun/security/ssl/EngineWriter.java classlib6/core/src/openjdk/sun/sun/security/ssl/EphemeralKeyManager.java classlib6/core/src/openjdk/sun/sun/security/ssl/HandshakeHash.java classlib6/core/src/openjdk/sun/sun/security/ssl/HandshakeInStream.java classlib6/core/src/openjdk/sun/sun/security/ssl/HandshakeMessage.java classlib6/core/src/openjdk/sun/sun/security/ssl/HandshakeOutStream.java classlib6/core/src/openjdk/sun/sun/security/ssl/Handshaker.java classlib6/core/src/openjdk/sun/sun/security/ssl/HelloExtensions.java classlib6/core/src/openjdk/sun/sun/security/ssl/InputRecord.java classlib6/core/src/openjdk/sun/sun/security/ssl/JsseJce.java classlib6/core/src/openjdk/sun/sun/security/ssl/KerberosClientKeyExchange.java classlib6/core/src/openjdk/sun/sun/security/ssl/KerberosPreMasterSecret.java classlib6/core/src/openjdk/sun/sun/security/ssl/KeyManagerFactoryImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/MAC.java classlib6/core/src/openjdk/sun/sun/security/ssl/OutputRecord.java classlib6/core/src/openjdk/sun/sun/security/ssl/ProtocolList.java classlib6/core/src/openjdk/sun/sun/security/ssl/ProtocolVersion.java classlib6/core/src/openjdk/sun/sun/security/ssl/RSAClientKeyExchange.java classlib6/core/src/openjdk/sun/sun/security/ssl/RSASignature.java classlib6/core/src/openjdk/sun/sun/security/ssl/RandomCookie.java classlib6/core/src/openjdk/sun/sun/security/ssl/Record.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLContextImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLEngineImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLServerSocketFactoryImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLServerSocketImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLSessionContextImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLSessionImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLSocketFactoryImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/SSLSocketImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/ServerHandshaker.java classlib6/core/src/openjdk/sun/sun/security/ssl/SessionId.java classlib6/core/src/openjdk/sun/sun/security/ssl/SunJSSE.java classlib6/core/src/openjdk/sun/sun/security/ssl/SunX509KeyManagerImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/TrustManagerFactoryImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/X509KeyManagerImpl.java classlib6/core/src/openjdk/sun/sun/security/ssl/X509TrustManagerImpl.java classlib6/core/src/openjdk/sun/sun/security/timestamp/HttpTimestamper.java classlib6/core/src/openjdk/sun/sun/security/timestamp/TSRequest.java classlib6/core/src/openjdk/sun/sun/security/timestamp/TSResponse.java classlib6/core/src/openjdk/sun/sun/security/timestamp/TimestampToken.java classlib6/core/src/openjdk/sun/sun/security/timestamp/Timestamper.java classlib6/core/src/openjdk/sun/sun/security/tools/JarSigner.java classlib6/core/src/openjdk/sun/sun/security/tools/JarSignerResources.java classlib6/core/src/openjdk/sun/sun/security/tools/JarSignerResources_ja.java classlib6/core/src/openjdk/sun/sun/security/tools/KeyTool.java classlib6/core/src/openjdk/sun/sun/security/tools/PolicyTool.java classlib6/core/src/openjdk/sun/sun/security/tools/TimestampedSigner.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_de.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_es.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_fr.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_it.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_ja.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_ko.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_sv.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_zh_CN.java classlib6/core/src/openjdk/sun/sun/security/util/AuthResources_zh_TW.java classlib6/core/src/openjdk/sun/sun/security/util/BigInt.java classlib6/core/src/openjdk/sun/sun/security/util/BitArray.java classlib6/core/src/openjdk/sun/sun/security/util/ByteArrayLexOrder.java classlib6/core/src/openjdk/sun/sun/security/util/ByteArrayTagOrder.java classlib6/core/src/openjdk/sun/sun/security/util/Cache.java classlib6/core/src/openjdk/sun/sun/security/util/Debug.java classlib6/core/src/openjdk/sun/sun/security/util/DerEncoder.java classlib6/core/src/openjdk/sun/sun/security/util/DerIndefLenConverter.java classlib6/core/src/openjdk/sun/sun/security/util/DerInputBuffer.java classlib6/core/src/openjdk/sun/sun/security/util/DerInputStream.java classlib6/core/src/openjdk/sun/sun/security/util/DerOutputStream.java classlib6/core/src/openjdk/sun/sun/security/util/DerValue.java classlib6/core/src/openjdk/sun/sun/security/util/HostnameChecker.java classlib6/core/src/openjdk/sun/sun/security/util/ManifestDigester.java classlib6/core/src/openjdk/sun/sun/security/util/ManifestEntryVerifier.java classlib6/core/src/openjdk/sun/sun/security/util/ObjectIdentifier.java classlib6/core/src/openjdk/sun/sun/security/util/Password.java classlib6/core/src/openjdk/sun/sun/security/util/PathList.java classlib6/core/src/openjdk/sun/sun/security/util/PendingException.java classlib6/core/src/openjdk/sun/sun/security/util/PolicyUtil.java classlib6/core/src/openjdk/sun/sun/security/util/PropertyExpander.java classlib6/core/src/openjdk/sun/sun/security/util/Resources.java classlib6/core/src/openjdk/sun/sun/security/util/ResourcesMgr.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_de.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_es.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_fr.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_it.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_ja.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_ko.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_sv.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_zh_CN.java classlib6/core/src/openjdk/sun/sun/security/util/Resources_zh_TW.java classlib6/core/src/openjdk/sun/sun/security/util/SecurityConstants.java classlib6/core/src/openjdk/sun/sun/security/util/SignatureFileVerifier.java classlib6/core/src/openjdk/sun/sun/security/validator/EndEntityChecker.java classlib6/core/src/openjdk/sun/sun/security/validator/KeyStores.java classlib6/core/src/openjdk/sun/sun/security/validator/PKIXValidator.java classlib6/core/src/openjdk/sun/sun/security/validator/SimpleValidator.java classlib6/core/src/openjdk/sun/sun/security/validator/Validator.java classlib6/core/src/openjdk/sun/sun/security/validator/ValidatorException.java classlib6/core/src/openjdk/sun/sun/security/x509/AVA.java classlib6/core/src/openjdk/sun/sun/security/x509/AccessDescription.java classlib6/core/src/openjdk/sun/sun/security/x509/AlgIdDSA.java classlib6/core/src/openjdk/sun/sun/security/x509/AlgorithmId.java classlib6/core/src/openjdk/sun/sun/security/x509/AttributeNameEnumeration.java classlib6/core/src/openjdk/sun/sun/security/x509/AuthorityInfoAccessExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/AuthorityKeyIdentifierExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/BasicConstraintsExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/CRLDistributionPointsExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/CRLExtensions.java classlib6/core/src/openjdk/sun/sun/security/x509/CRLNumberExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/CRLReasonCodeExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/CertAndKeyGen.java classlib6/core/src/openjdk/sun/sun/security/x509/CertAttrSet.java classlib6/core/src/openjdk/sun/sun/security/x509/CertException.java classlib6/core/src/openjdk/sun/sun/security/x509/CertParseError.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateAlgorithmId.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateExtensions.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateIssuerExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateIssuerName.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateIssuerUniqueIdentity.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificatePoliciesExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificatePolicyId.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificatePolicyMap.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificatePolicySet.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateSerialNumber.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateSubjectName.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateSubjectUniqueIdentity.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateValidity.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateVersion.java classlib6/core/src/openjdk/sun/sun/security/x509/CertificateX509Key.java classlib6/core/src/openjdk/sun/sun/security/x509/DNSName.java classlib6/core/src/openjdk/sun/sun/security/x509/DistributionPoint.java classlib6/core/src/openjdk/sun/sun/security/x509/EDIPartyName.java classlib6/core/src/openjdk/sun/sun/security/x509/ExtendedKeyUsageExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/Extension.java classlib6/core/src/openjdk/sun/sun/security/x509/GeneralName.java classlib6/core/src/openjdk/sun/sun/security/x509/GeneralNameInterface.java classlib6/core/src/openjdk/sun/sun/security/x509/GeneralNames.java classlib6/core/src/openjdk/sun/sun/security/x509/GeneralSubtree.java classlib6/core/src/openjdk/sun/sun/security/x509/GeneralSubtrees.java classlib6/core/src/openjdk/sun/sun/security/x509/IPAddressName.java classlib6/core/src/openjdk/sun/sun/security/x509/InhibitAnyPolicyExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/IssuerAlternativeNameExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/KeyIdentifier.java classlib6/core/src/openjdk/sun/sun/security/x509/KeyUsageExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/NameConstraintsExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/NetscapeCertTypeExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/OIDMap.java classlib6/core/src/openjdk/sun/sun/security/x509/OIDName.java classlib6/core/src/openjdk/sun/sun/security/x509/OtherName.java classlib6/core/src/openjdk/sun/sun/security/x509/PKIXExtensions.java classlib6/core/src/openjdk/sun/sun/security/x509/PolicyConstraintsExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/PolicyInformation.java classlib6/core/src/openjdk/sun/sun/security/x509/PolicyMappingsExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/PrivateKeyUsageExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/RDN.java classlib6/core/src/openjdk/sun/sun/security/x509/RFC822Name.java classlib6/core/src/openjdk/sun/sun/security/x509/ReasonFlags.java classlib6/core/src/openjdk/sun/sun/security/x509/SerialNumber.java classlib6/core/src/openjdk/sun/sun/security/x509/SubjectAlternativeNameExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/SubjectKeyIdentifierExtension.java classlib6/core/src/openjdk/sun/sun/security/x509/URIName.java classlib6/core/src/openjdk/sun/sun/security/x509/UniqueIdentity.java classlib6/core/src/openjdk/sun/sun/security/x509/X400Address.java classlib6/core/src/openjdk/sun/sun/security/x509/X500Name.java classlib6/core/src/openjdk/sun/sun/security/x509/X500Signer.java classlib6/core/src/openjdk/sun/sun/security/x509/X509AttributeName.java classlib6/core/src/openjdk/sun/sun/security/x509/X509CRLEntryImpl.java classlib6/core/src/openjdk/sun/sun/security/x509/X509CRLImpl.java classlib6/core/src/openjdk/sun/sun/security/x509/X509Cert.java classlib6/core/src/openjdk/sun/sun/security/x509/X509CertImpl.java classlib6/core/src/openjdk/sun/sun/security/x509/X509CertInfo.java classlib6/core/src/openjdk/sun/sun/security/x509/X509Key.java Added Paths: ----------- classlib6/core/src/openjdk/sun/sun/security/action/GetBooleanSecurityPropertyAction.java classlib6/core/src/openjdk/sun/sun/security/action/OpenFileInputStreamAction.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/AlgorithmChecker.java classlib6/core/src/openjdk/sun/sun/security/provider/certpath/OCSP.java Added: classlib6/core/src/openjdk/sun/sun/security/action/GetBooleanSecurityPropertyAction.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/action/GetBooleanSecurityPropertyAction.java (rev 0) +++ classlib6/core/src/openjdk/sun/sun/security/action/GetBooleanSecurityPropertyAction.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package sun.security.action; + +import java.security.Security; + +/** + * A convenience class for retrieving the boolean value of a security property + * as a privileged action. + * + * <p>An instance of this class can be used as the argument of + * <code>AccessController.doPrivileged</code>. + * + * <p>The following code retrieves the boolean value of the security + * property named <code>"prop"</code> as a privileged action: <p> + * + * <pre> + * boolean b = java.security.AccessController.doPrivileged + * (new GetBooleanSecurityPropertyAction("prop")).booleanValue(); + * </pre> + * + */ +public class GetBooleanSecurityPropertyAction + implements java.security.PrivilegedAction<Boolean> { + private String theProp; + + /** + * Constructor that takes the name of the security property whose boolean + * value needs to be determined. + * + * @param theProp the name of the security property + */ + public GetBooleanSecurityPropertyAction(String theProp) { + this.theProp = theProp; + } + + /** + * Determines the boolean value of the security property whose name was + * specified in the constructor. + * + * @return the <code>Boolean</code> value of the security property. + */ + public Boolean run() { + boolean b = false; + try { + String value = Security.getProperty(theProp); + b = (value != null) && value.equalsIgnoreCase("true"); + } catch (NullPointerException e) {} + return b; + } +} Added: classlib6/core/src/openjdk/sun/sun/security/action/OpenFileInputStreamAction.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/action/OpenFileInputStreamAction.java (rev 0) +++ classlib6/core/src/openjdk/sun/sun/security/action/OpenFileInputStreamAction.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package sun.security.action; + +import java.io.*; + +import java.security.PrivilegedExceptionAction; + +/** + * A convenience class for opening a FileInputStream as a privileged action. + * + * @author Andreas Sterbenz + */ +public class OpenFileInputStreamAction + implements PrivilegedExceptionAction<FileInputStream> { + + private final File file; + + public OpenFileInputStreamAction(File file) { + this.file = file; + } + + public OpenFileInputStreamAction(String filename) { + this.file = new File(filename); + } + + public FileInputStream run() throws Exception { + return new FileInputStream(file); + } +} Modified: classlib6/core/src/openjdk/sun/sun/security/jgss/krb5/InitialToken.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/jgss/krb5/InitialToken.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/jgss/krb5/InitialToken.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -209,6 +209,12 @@ int pos = 0; + if (checksum == null) { + GSSException ge = new GSSException(GSSException.FAILURE, -1, + "No cksum in AP_REQ's authenticator"); + ge.initCause(new KrbException(Krb5.KRB_AP_ERR_INAPP_CKSUM)); + throw ge; + } checksumBytes = checksum.getBytes(); if ((checksumBytes[0] != CHECKSUM_FIRST_BYTES[0]) || Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/Config.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/Config.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/Config.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/JarVerifier.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/JarVerifier.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/JarVerifier.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/KeyCache.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/KeyCache.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/KeyCache.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Cipher.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Cipher.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Cipher.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; @@ -127,7 +127,6 @@ // XXX change default to PKCS5Padding paddingType = PAD_NONE; } - session = token.getOpSession(); } protected void engineSetMode(String mode) throws NoSuchAlgorithmException { @@ -654,16 +653,4 @@ (token, key, keyAlgorithm).keyLength(); return n; } - - protected void finalize() throws Throwable { - try { - if ((session != null) && token.isValid()) { - cancelOperation(); - session = token.releaseSession(session); - } - } finally { - super.finalize(); - } - } - } Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DHKeyFactory.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DHKeyFactory.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DHKeyFactory.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DSAKeyFactory.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DSAKeyFactory.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11DSAKeyFactory.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Digest.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Digest.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Digest.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; @@ -308,16 +308,4 @@ throw new ProviderException("update() failed", e); } } - - protected void finalize() throws Throwable { - try { - if ((session != null) && token.isValid()) { - cancelOperation(); - session = token.releaseSession(session); - } - } finally { - super.finalize(); - } - } - } Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECDHKeyAgreement.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECDHKeyAgreement.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECDHKeyAgreement.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECKeyFactory.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECKeyFactory.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11ECKeyFactory.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; @@ -40,6 +40,8 @@ import sun.security.pkcs11.wrapper.*; import static sun.security.pkcs11.wrapper.PKCS11Constants.*; +import sun.security.util.DerValue; + /** * EC KeyFactory implemenation. * @@ -201,7 +203,16 @@ private PublicKey generatePublic(ECPoint point, ECParameterSpec params) throws PKCS11Exception { byte[] encodedParams = ECParameters.encodeParameters(params); - byte[] encodedPoint = ECParameters.encodePoint(point, params.getCurve()); + byte[] encodedPoint = null; + DerValue pkECPoint = new DerValue(DerValue.tag_OctetString, + ECParameters.encodePoint(point, params.getCurve())); + + try { + encodedPoint = pkECPoint.toByteArray(); + } catch (IOException e) { + throw new IllegalArgumentException("Could not DER encode point", e); + } + CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { new CK_ATTRIBUTE(CKA_CLASS, CKO_PUBLIC_KEY), new CK_ATTRIBUTE(CKA_KEY_TYPE, CKK_EC), Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Key.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Key.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11Key.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,14 +18,15 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; import java.io.*; +import java.lang.ref.*; import java.math.BigInteger; import java.util.*; @@ -44,6 +45,8 @@ import sun.security.pkcs11.wrapper.*; import static sun.security.pkcs11.wrapper.PKCS11Constants.*; +import sun.security.util.DerValue; + /** * Key implementation classes. * @@ -67,9 +70,6 @@ // type of key, one of (PUBLIC, PRIVATE, SECRET) final String type; - // session in which the key was created, relevant for session objects - final Session session; - // token instance final Token token; @@ -85,10 +85,12 @@ // flags indicating whether the key is a token object, sensitive, extractable final boolean tokenObject, sensitive, extractable; + // phantom reference notification clean up for session keys + private final SessionKeyRef sessionKeyRef; + P11Key(String type, Session session, long keyID, String algorithm, int keyLength, CK_ATTRIBUTE[] attributes) { this.type = type; - this.session = session; this.token = session.token; this.keyID = keyID; this.algorithm = algorithm; @@ -111,7 +113,9 @@ this.sensitive = sensitive; this.extractable = extractable; if (tokenObject == false) { - session.addObject(); + sessionKeyRef = new SessionKeyRef(this, keyID, session); + } else { + sessionKeyRef = null; } } @@ -236,24 +240,6 @@ } } - protected void finalize() throws Throwable { - if (tokenObject || (token.isValid() == false)) { - super.finalize(); - return; - } - Session newSession = null; - try { - newSession = token.getOpSession(); - token.p11.C_DestroyObject(newSession.id(), keyID); - } catch (PKCS11Exception e) { - // ignore - } finally { - token.releaseSession(newSession); - session.removeObject(); - super.finalize(); - } - } - private final static CK_ATTRIBUTE[] A0 = new CK_ATTRIBUTE[0]; private static CK_ATTRIBUTE[] getAttributes(Session session, long keyID, @@ -1016,8 +1002,16 @@ try { params = P11ECKeyFactory.decodeParameters (attributes[1].getByteArray()); + DerValue wECPoint = new DerValue(attributes[0].getByteArray()); + if (wECPoint.getTag() != DerValue.tag_OctetString) + throw new IOException("Unexpected tag: " + + wECPoint.getTag()); + params = P11ECKeyFactory.decodeParameters + (attributes[1].getByteArray()); w = P11ECKeyFactory.decodePoint - (attributes[0].getByteArray(), params.getCurve()); + (wECPoint.getDataBytes(), params.getCurve()); + + } catch (Exception e) { throw new RuntimeException("Could not parse key values", e); } @@ -1055,5 +1049,68 @@ + "\n parameters: " + params; } } +} +/* + * NOTE: Must use PhantomReference here and not WeakReference + * otherwise the key maybe cleared before other objects which + * still use these keys during finalization such as SSLSocket. + */ +final class SessionKeyRef extends PhantomReference<P11Key> + implements Comparable<SessionKeyRef> { + private static ReferenceQueue<P11Key> refQueue = + new ReferenceQueue<P11Key>(); + private static Set<SessionKeyRef> refList = + Collections.synchronizedSortedSet(new TreeSet<SessionKeyRef>()); + + static ReferenceQueue<P11Key> referenceQueue() { + return refQueue; + } + + private static void drainRefQueueBounded() { + while (true) { + SessionKeyRef next = (SessionKeyRef) refQueue.poll(); + if (next == null) break; + next.dispose(); + } + } + + // handle to the native key + private long keyID; + private Session session; + + SessionKeyRef(P11Key key , long keyID, Session session) { + super(key, refQueue); + this.keyID = keyID; + this.session = session; + this.session.addObject(); + refList.add(this); + // TBD: run at some interval and not every time? + drainRefQueueBounded(); + } + + private void dispose() { + refList.remove(this); + if (session.token.isValid()) { + Session newSession = null; + try { + newSession = session.token.getOpSession(); + session.token.p11.C_DestroyObject(newSession.id(), keyID); + } catch (PKCS11Exception e) { + // ignore + } finally { + this.clear(); + session.token.releaseSession(newSession); + session.removeObject(); + } + } + } + + public int compareTo(SessionKeyRef other) { + if (this.keyID == other.keyID) { + return 0; + } else { + return (this.keyID < other.keyID) ? -1 : 1; + } + } } Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyAgreement.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyAgreement.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyAgreement.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyFactory.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyFactory.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyFactory.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyGenerator.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyGenerator.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyGenerator.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -18,9 +18,9 @@ * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ package sun.security.pkcs11; Modified: classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyPairGenerator.java =================================================================== --- classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyPairGenerator.java 2011-03-05 13:01:15 UTC (rev 5802) +++ classlib6/core/src/openjdk/sun/sun/security/pkcs11/P11KeyPairGenerator.java 2011-03-05 13:13:50 UTC (rev 5803) @@ -1,12 +1,12 @@ /* - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this + * publ... [truncated message content] |