Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
456 changes: 456 additions & 0 deletions PROVIDER_CONFIG_FORMAT.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

464 changes: 464 additions & 0 deletions src/main/java/com/ibm/crypto/plus/provider/DefaultProviderAttrs.java

Large diffs are not rendered by default.

1,173 changes: 72 additions & 1,101 deletions src/main/java/com/ibm/crypto/plus/provider/OpenJCEPlus.java

Large diffs are not rendered by default.

571 changes: 2 additions & 569 deletions src/main/java/com/ibm/crypto/plus/provider/OpenJCEPlusFIPS.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@

package com.ibm.crypto.plus.provider;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.lang.ref.Cleaner;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
Expand Down Expand Up @@ -115,6 +118,40 @@ void setExceptionCause(Exception exception, Throwable throwable) {
}
}

protected void LoadStringConfig(Provider prov, String configName) throws InvalidParameterException {
if (configName == null) {
throw new InvalidParameterException("configName is null");
}
if (configName.length() == 0) {
throw new InvalidParameterException("configName is empty");
}
if (configName.indexOf('\\') != -1) {
throw new InvalidParameterException("configName contains '\\'");
}

try {
ProviderServiceReader config = new ProviderServiceReader(new BufferedReader(new StringReader(configName)));
List<ProviderServiceReader.ServiceDefinition> services = config.readServices();
if (debug != null) {
debug.println("Provider Name - " + config.getName());
debug.println("Provider Description - " + config.getDesc());
debug.println("Numnber of Services - " + services.size());
debug.println("Services:");
}

for (ProviderServiceReader.ServiceDefinition service : services) {
putService(new OpenJCEPlusService(prov, service.getType(), service.getAlgorithm(),
service.getClassName(), service.getAliases().toArray(new String[service.getAliases().size()]), service.getAttributes()));
if (debug != null) {
debug.println(service.toString());
}
}
} catch (IOException e) {
throw new InvalidParameterException("Error configuring OpenJCEPlus provider - ", e);
}

}

protected static class OpenJCEPlusService extends Service {
private static Class<?> openjceplusClass;

Expand Down
Loading
Loading