use of edu.uiuc.ncsa.security.core.exceptions.MyConfigurationException in project OA4MP by ncsa.
the class NewCAStoreTest method testPermissions.
public void testPermissions() throws Exception {
File storeDirectory = File.createTempFile("fs-store", "-tmp");
File indexDirectory = File.createTempFile("fs-index", "-tmp");
storeDirectory.setWritable(false);
indexDirectory.setWritable(false);
assert !storeDirectory.canWrite();
FSClientApprovalStore x = null;
final ClientApprovalProvider caProvider = new ClientApprovalProvider();
try {
// Make sure that if someone creates a bad one, it blows up in the constructor.
x = new FSClientApprovalStore(null, null, null, null) {
@Override
public Object put(Object key, Object value) {
return null;
}
};
assert false : "Could make a new object without being properly configured";
} catch (MyConfigurationException xx) {
assert true;
}
x = new DSFSClientApprovalStore(storeDirectory, indexDirectory, caProvider, new ClientApproverConverter(caProvider));
try {
// should bomb here.
x.create();
assert false;
} catch (FilePermissionsException xx) {
assert true;
}
// so make a new entry and then have retrieving it fail.
storeDirectory.setWritable(true);
indexDirectory.setWritable(true);
ClientApproval ca = (ClientApproval) x.create();
// fail for store directory un readable
storeDirectory.setReadable(false);
try {
x.get(ca.getIdentifier());
assert false;
} catch (FilePermissionsException xx) {
assert true;
}
}
use of edu.uiuc.ncsa.security.core.exceptions.MyConfigurationException in project OA4MP by ncsa.
the class ClientLoader method checkPrivateKey.
protected PrivateKey checkPrivateKey() throws IOException {
String privateKeyFileName = getCfgValue(ClientXMLTags.PRIVATE_KEY);
if (trivial(privateKeyFileName)) {
throw new MyConfigurationException("Error: There is no private key specified.");
}
File privateKeyFile = new File(privateKeyFileName);
if (!privateKeyFile.exists()) {
throw new MyConfigurationException("Error: The specified private key file \"" + privateKeyFileName + "\" does not exist");
}
if (!privateKeyFile.isFile()) {
throw new MyConfigurationException("Error: The specified private key file \"" + privateKeyFileName + "\" is not actually a file");
}
if (!privateKeyFile.canRead()) {
throw new MyConfigurationException("Error: The specified private key file \"" + privateKeyFileName + "\" is not readable. Check the permissions.");
}
return KeyUtil.fromPKCS8PEM(new FileReader(privateKeyFile));
}
use of edu.uiuc.ncsa.security.core.exceptions.MyConfigurationException in project OA4MP by ncsa.
the class ClientLoader method createInstance.
/**
* Factory method. Override this to create the actual instance as needed.
*
* @param tokenForgeProvider
* @param clientProvider
* @param constants
* @return
*/
public T createInstance(Provider<TokenForge> tokenForgeProvider, Provider<Client> clientProvider, HashMap<String, String> constants) {
ClientEnvironment ce = null;
try {
ce = new ClientEnvironment(myLogger, constants, getAccessTokenURI(), getAuthorizeURI(), getCallback(), getInitiateURI(), getAssetURI(), checkCertLifetime(), getId(), checkPrivateKey(), checkPublicKey(), getSkin(), isEnableAssetCleanup(), getMaxAssetLifetime(), getKeypairLifetime(), getAssetProvider(), clientProvider, tokenForgeProvider, getDSP(), getAssetStoreProvider(), isShowRedirectPage(), getErrorPagePath(), getRedirectPagePath(), getSuccessPagePath());
} catch (IOException e) {
throw new MyConfigurationException("Error; Could not configure environment", e);
}
init();
return (T) ce;
}
Aggregations