Class DefaultSVNPersistentAuthenticationProvider
- java.lang.Object
-
- org.tmatesoft.svn.core.internal.wc.DefaultSVNPersistentAuthenticationProvider
-
- All Implemented Interfaces:
ISVNAuthenticationProvider
,ISVNPersistentAuthenticationProvider
public class DefaultSVNPersistentAuthenticationProvider extends java.lang.Object implements ISVNAuthenticationProvider, ISVNPersistentAuthenticationProvider
- Version:
- 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
DefaultSVNPersistentAuthenticationProvider.GnomeKeyringPasswordStorage
static interface
DefaultSVNPersistentAuthenticationProvider.IPasswordStorage
protected class
DefaultSVNPersistentAuthenticationProvider.MacOsKeychainPasswordStorage
protected class
DefaultSVNPersistentAuthenticationProvider.SimplePasswordStorage
protected class
DefaultSVNPersistentAuthenticationProvider.WinCryptPasswordStorage
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
GNOME_KEYRING_PASSTYPE
static java.lang.String
GNOME_KEYRING_PASSWORD_STORAGE
static java.lang.String
MAC_OS_KEYCHAIN_PASSTYPE
static java.lang.String
MAC_OS_KEYCHAIN_PASSWORD_STORAGE
private ISVNAuthenticationStorageOptions
myAuthOptions
private DefaultSVNOptions
myDefaultOptions
private java.io.File
myDirectory
private ISVNHostOptionsProvider
myHostOptionsProvider
private DefaultSVNPersistentAuthenticationProvider.IPasswordStorage[]
myPasswordStorages
private java.lang.String
myUserName
static java.lang.String
SIMPLE_PASSTYPE
static java.lang.String
WIN_CRYPT_PASSTYPE
static java.lang.String
WINDOWS_CRYPTO_API_PASSWORD_STORAGE
-
Fields inherited from interface org.tmatesoft.svn.core.auth.ISVNAuthenticationProvider
ACCEPTED, ACCEPTED_TEMPORARY, REJECTED
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DefaultSVNPersistentAuthenticationProvider(java.io.File directory, java.lang.String userName, ISVNAuthenticationStorageOptions authOptions, DefaultSVNOptions defaultOptions, ISVNHostOptionsProvider hostOptionsProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
acceptServerAuthentication(SVNURL url, java.lang.String r, java.lang.Object serverAuth, boolean resultMayBeStored)
Checks a server authentication certificate and whether accepts it (if the client trusts it) or not.protected DefaultSVNPersistentAuthenticationProvider.IPasswordStorage[]
createPasswordStorages(DefaultSVNOptions options)
protected java.lang.String
getAuthFileName(java.lang.String realm)
private DefaultSVNPersistentAuthenticationProvider.IPasswordStorage
getPasswordStorage(java.lang.String passType)
boolean
isMSCapi(java.lang.String filepath)
byte[]
loadFingerprints(java.lang.String realm)
protected java.lang.String
preprocessRealm(java.lang.String realm)
private char[]
readPassphrase(java.lang.String realm, DefaultSVNPersistentAuthenticationProvider.IPasswordStorage passwordStorage, SVNProperties authValues)
private char[]
readPassword(java.lang.String realm, java.lang.String userName, DefaultSVNPersistentAuthenticationProvider.IPasswordStorage passwordStorage, SVNProperties authValues)
private SVNPasswordAuthentication
readSSLPassphrase(java.lang.String kind, java.lang.String realm, boolean storageAllowed, SVNURL url)
private SVNPasswordAuthentication
readSSLPassphrase(java.lang.String expectedCertificatePath, SVNWCProperties props)
SVNAuthentication
requestClientAuthentication(java.lang.String kind, SVNURL url, java.lang.String realm, SVNErrorMessage errorMessage, SVNAuthentication previousAuth, boolean authMayBeStored)
Returns a next user credential of the specified kind for the given authentication realm.void
saveAuthentication(SVNAuthentication auth, java.lang.String kind, java.lang.String realm)
void
saveFingerprints(java.lang.String realm, byte[] fingerprints)
private void
savePasswordCredential(SVNProperties values, SVNAuthentication auth, java.lang.String realm)
private void
saveSSHCredential(SVNProperties values, SVNAuthentication auth, java.lang.String realm)
private boolean
saveSSLCredential(SVNProperties values, SVNAuthentication auth, java.lang.String realm)
private void
saveUserNameCredential(SVNProperties values, SVNAuthentication auth)
private boolean
shouldSaveCredentials(java.lang.String kind, SVNProperties newValues, SVNProperties oldValues)
-
-
-
Field Detail
-
WINDOWS_CRYPTO_API_PASSWORD_STORAGE
public static final java.lang.String WINDOWS_CRYPTO_API_PASSWORD_STORAGE
- See Also:
- Constant Field Values
-
MAC_OS_KEYCHAIN_PASSWORD_STORAGE
public static final java.lang.String MAC_OS_KEYCHAIN_PASSWORD_STORAGE
- See Also:
- Constant Field Values
-
GNOME_KEYRING_PASSWORD_STORAGE
public static final java.lang.String GNOME_KEYRING_PASSWORD_STORAGE
- See Also:
- Constant Field Values
-
SIMPLE_PASSTYPE
public static final java.lang.String SIMPLE_PASSTYPE
- See Also:
- Constant Field Values
-
WIN_CRYPT_PASSTYPE
public static final java.lang.String WIN_CRYPT_PASSTYPE
- See Also:
- Constant Field Values
-
MAC_OS_KEYCHAIN_PASSTYPE
public static final java.lang.String MAC_OS_KEYCHAIN_PASSTYPE
- See Also:
- Constant Field Values
-
GNOME_KEYRING_PASSTYPE
public static final java.lang.String GNOME_KEYRING_PASSTYPE
- See Also:
- Constant Field Values
-
myDirectory
private java.io.File myDirectory
-
myUserName
private java.lang.String myUserName
-
myPasswordStorages
private DefaultSVNPersistentAuthenticationProvider.IPasswordStorage[] myPasswordStorages
-
myAuthOptions
private ISVNAuthenticationStorageOptions myAuthOptions
-
myDefaultOptions
private DefaultSVNOptions myDefaultOptions
-
myHostOptionsProvider
private ISVNHostOptionsProvider myHostOptionsProvider
-
-
Constructor Detail
-
DefaultSVNPersistentAuthenticationProvider
protected DefaultSVNPersistentAuthenticationProvider(java.io.File directory, java.lang.String userName, ISVNAuthenticationStorageOptions authOptions, DefaultSVNOptions defaultOptions, ISVNHostOptionsProvider hostOptionsProvider)
-
-
Method Detail
-
createPasswordStorages
protected DefaultSVNPersistentAuthenticationProvider.IPasswordStorage[] createPasswordStorages(DefaultSVNOptions options)
-
getPasswordStorage
private DefaultSVNPersistentAuthenticationProvider.IPasswordStorage getPasswordStorage(java.lang.String passType)
-
readSSLPassphrase
private SVNPasswordAuthentication readSSLPassphrase(java.lang.String kind, java.lang.String realm, boolean storageAllowed, SVNURL url)
-
readSSLPassphrase
private SVNPasswordAuthentication readSSLPassphrase(java.lang.String expectedCertificatePath, SVNWCProperties props) throws SVNException
- Throws:
SVNException
-
readPassword
private char[] readPassword(java.lang.String realm, java.lang.String userName, DefaultSVNPersistentAuthenticationProvider.IPasswordStorage passwordStorage, SVNProperties authValues) throws SVNException
- Throws:
SVNException
-
readPassphrase
private char[] readPassphrase(java.lang.String realm, DefaultSVNPersistentAuthenticationProvider.IPasswordStorage passwordStorage, SVNProperties authValues) throws SVNException
- Throws:
SVNException
-
requestClientAuthentication
public SVNAuthentication requestClientAuthentication(java.lang.String kind, SVNURL url, java.lang.String realm, SVNErrorMessage errorMessage, SVNAuthentication previousAuth, boolean authMayBeStored)
Description copied from interface:ISVNAuthenticationProvider
Returns a next user credential of the specified kind for the given authentication realm.If this provider has got more than one credentials (say, a list of credentials), to get the first one of them
previousAuth
is set to null.- Specified by:
requestClientAuthentication
in interfaceISVNAuthenticationProvider
- Parameters:
kind
- a credential kind (for example, like those defined inISVNAuthenticationManager
)url
- a repository location that is to be accessedrealm
- a repository authentication realm (host, port, realm string)errorMessage
- the recent authentication failure error messagepreviousAuth
- the credential that was previously retrieved (to tell if it's not accepted)authMayBeStored
- if true then the returned credential can be cached, otherwise it won't be cached anyway- Returns:
- a next user credential
-
preprocessRealm
protected java.lang.String preprocessRealm(java.lang.String realm)
-
isMSCapi
public boolean isMSCapi(java.lang.String filepath)
-
saveAuthentication
public void saveAuthentication(SVNAuthentication auth, java.lang.String kind, java.lang.String realm) throws SVNException
- Specified by:
saveAuthentication
in interfaceISVNPersistentAuthenticationProvider
- Throws:
SVNException
-
getAuthFileName
protected java.lang.String getAuthFileName(java.lang.String realm)
-
acceptServerAuthentication
public int acceptServerAuthentication(SVNURL url, java.lang.String r, java.lang.Object serverAuth, boolean resultMayBeStored)
Description copied from interface:ISVNAuthenticationProvider
Checks a server authentication certificate and whether accepts it (if the client trusts it) or not.This method is used by an SSL manager (see
DefaultSVNSSLTrustManager
).- Specified by:
acceptServerAuthentication
in interfaceISVNAuthenticationProvider
- Parameters:
url
- a repository location that is accessedr
- a repository authentication realm (host, port, realm string)serverAuth
- a server certificate objectresultMayBeStored
- if true then the server certificate can be cached, otherwise not- Returns:
- the result of the certificate check (
ISVNAuthenticationProvider.REJECTED
,ISVNAuthenticationProvider.ACCEPTED_TEMPORARY
, orISVNAuthenticationProvider.ACCEPTED
)
-
shouldSaveCredentials
private boolean shouldSaveCredentials(java.lang.String kind, SVNProperties newValues, SVNProperties oldValues) throws SVNException
- Throws:
SVNException
-
saveUserNameCredential
private void saveUserNameCredential(SVNProperties values, SVNAuthentication auth)
-
savePasswordCredential
private void savePasswordCredential(SVNProperties values, SVNAuthentication auth, java.lang.String realm) throws SVNException
- Throws:
SVNException
-
saveSSHCredential
private void saveSSHCredential(SVNProperties values, SVNAuthentication auth, java.lang.String realm) throws SVNException
- Throws:
SVNException
-
saveSSLCredential
private boolean saveSSLCredential(SVNProperties values, SVNAuthentication auth, java.lang.String realm) throws SVNException
- Throws:
SVNException
-
loadFingerprints
public byte[] loadFingerprints(java.lang.String realm)
- Specified by:
loadFingerprints
in interfaceISVNPersistentAuthenticationProvider
-
saveFingerprints
public void saveFingerprints(java.lang.String realm, byte[] fingerprints)
- Specified by:
saveFingerprints
in interfaceISVNPersistentAuthenticationProvider
-
-