gluu
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService クラス
org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService の継承関係図
Inheritance graph
org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService 連携図
Collaboration graph

公開メンバ関数

void init ()
 
synchronized String addCertificateFile (UploadedFile uploadedFile, String alias) throws IOException
 
synchronized String addCertificateFile (byte[] certsBytes, String alias) throws IOException
 
boolean isReady ()
 
KeystoreWrapper getKeystore () throws Exception
 

非公開メンバ関数

String getConfigurationFilePath ()
 
void parse ()
 

非公開変数類

Logger log
 
SSLService sslService
 
XmlService xmlService
 
String keystoreFilePath = null
 
String keystoreType = null
 
String keystorePassword
 
String asimbaAias
 
String asimbaAiasPassword
 

静的非公開変数類

static final String PROPERTIES_FILENAME = "asimba.properties"
 
static final String PROPERTIES_FILENAME_PROPERTY = "asimba.properties.file"
 
static final String ASIMBA_XML_CONFIGURATION_PATH = "webapps/asimba/WEB-INF/conf/asimba.xml"
 

詳解

Asimba XML configuration service.

著者
Dmitry Ognyannikov, 2016

関数詳解

◆ addCertificateFile() [1/2]

synchronized String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.addCertificateFile ( UploadedFile  uploadedFile,
String  alias 
) throws IOException
inline

Add trust certificate file to Asimba's Keystore.

引数
uploadedFileCertificate file
aliasCertificate alias
戻り値
path
例外
IOException
123  {
124  byte[] certsBytes = ServiceUtil.readFully(uploadedFile.getInputStream());
125  return addCertificateFile(certsBytes, alias);
126  }
synchronized String addCertificateFile(UploadedFile uploadedFile, String alias)
Definition: AsimbaXMLConfigurationService.java:123

◆ addCertificateFile() [2/2]

synchronized String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.addCertificateFile ( byte []  certsBytes,
String  alias 
) throws IOException
inline

Add trust certificate file to Asimba's Keystore.

引数
certsBytesCertificates as byte array
aliasCertificate alias
戻り値
path
例外
IOException
136  {
137  // load certificate
138  X509Certificate certs[] = null;
139  try {
140  // load PEM certificate from uploadedFile
141  X509Certificate cert = sslService.getPEMCertificate(new ByteArrayInputStream(certsBytes));
142  if (cert != null) {
143  certs = new X509Certificate[1];
144  certs[0] = cert;
145  }
146  } catch (Exception e) {
147  log.warn("Certificate parsing exception", e);
148  }
149 
150  if (certs == null) {
151  // try load with other way (.crt certificates, base64 encoded, etc).
152  try {
153  certs = SSLService.loadCertificates(certsBytes);
154  } catch (Exception e) {
155  log.warn("Certificate parsing exception", e);
156  return "Certificate parsing exception: " + e.getMessage();
157  }
158  }
159 
160  // update keystore
161  try {
162  parse();
163 
164  KeystoreWrapper wrapper = getKeystore();
165  for (X509Certificate cert : certs) {
166  wrapper.addCertificate(cert, alias);
167  break;
168  }
169  wrapper.save();
170 
171  return OxTrustConstants.RESULT_SUCCESS;
172  } catch (Exception e) {
173  log.error("Add Certificate to keystore exception", e);
174  return "Add Certificate to keystore exception : " + e.getMessage();
175  }
176  }
KeystoreWrapper getKeystore()
Definition: AsimbaXMLConfigurationService.java:182
void parse()
Definition: AsimbaXMLConfigurationService.java:87
Logger log
Definition: AsimbaXMLConfigurationService.java:52
X509Certificate getPEMCertificate(String fileName)
Definition: SSLService.java:69
SSLService sslService
Definition: AsimbaXMLConfigurationService.java:55

◆ getConfigurationFilePath()

String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.getConfigurationFilePath ( )
inlineprivate

Return Asimba XML configuration file path.

74  {
75  String basePath = LDAPUtility.getBaseDirectory();
76 
77  StringBuilder configFile = new StringBuilder(basePath);
78  if (!configFile.toString().endsWith(File.separator))
79  configFile.append(File.separator);
80  configFile.append(ASIMBA_XML_CONFIGURATION_PATH.replaceAll("/", File.separator));
81  return configFile.toString();
82  }
static final String ASIMBA_XML_CONFIGURATION_PATH
Definition: AsimbaXMLConfigurationService.java:49

◆ getKeystore()

KeystoreWrapper org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.getKeystore ( ) throws Exception
inline
182  {
183  return new KeystoreWrapper(keystoreFilePath, keystorePassword, keystoreType);
184  }
String keystoreFilePath
Definition: AsimbaXMLConfigurationService.java:60
String keystoreType
Definition: AsimbaXMLConfigurationService.java:61
String keystorePassword
Definition: AsimbaXMLConfigurationService.java:62

◆ init()

void org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.init ( )
inline
67  {
68  parse();
69  }
void parse()
Definition: AsimbaXMLConfigurationService.java:87

◆ isReady()

boolean org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.isReady ( )
inline
178  {
179  return keystoreFilePath != null && keystoreType != null;
180  }
String keystoreFilePath
Definition: AsimbaXMLConfigurationService.java:60
String keystoreType
Definition: AsimbaXMLConfigurationService.java:61

◆ parse()

void org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.parse ( )
inlineprivate

Parse Asimba XML configuration file.

87  {
88  try {
89  // check for asimba config availability
90  File configFile = new File(getConfigurationFilePath());
91  if (!configFile.exists())
92  return;
93 
94  // parse XML
95  Document document = xmlService.getXmlDocument(FileUtils.readFileToByteArray(configFile));
96  XPath xPath = XPathFactory.newInstance().newXPath();
97  keystoreFilePath = xPath.evaluate("/asimba-server/crypto/signing/signingfactory/keystore/file", document);
98  log.info("AsimbaXMLConfig keystoreFilePath: " + keystoreFilePath);
99  keystoreType = xPath.evaluate("/asimba-server/crypto/signing/signingfactory/keystore/type", document);
100  if (keystoreType == null || "".equals(keystoreType))
101  keystoreType = KeyStore.getDefaultType();
102  log.info("AsimbaXMLConfig keystoreType: " + keystoreType);
103  keystorePassword = xPath.evaluate("/asimba-server/crypto/signing/signingfactory/keystore/keystore_password", document);
104  asimbaAias = xPath.evaluate("/asimba-server/crypto/signing/signingfactory/keystore/alias", document);
105  asimbaAiasPassword = xPath.evaluate("/asimba-server/crypto/signing/signingfactory/keystore/password", document);
106  } catch (Exception e) {
107  log.error("parse() exception", e);
108  keystoreFilePath = null;
109  keystoreType = null;
110  asimbaAias = null;
111  asimbaAiasPassword = null;
112  }
113  }
String getConfigurationFilePath()
Definition: AsimbaXMLConfigurationService.java:74
Logger log
Definition: AsimbaXMLConfigurationService.java:52
String asimbaAiasPassword
Definition: AsimbaXMLConfigurationService.java:64
String keystoreFilePath
Definition: AsimbaXMLConfigurationService.java:60
String asimbaAias
Definition: AsimbaXMLConfigurationService.java:63
String keystoreType
Definition: AsimbaXMLConfigurationService.java:61
XmlService xmlService
Definition: AsimbaXMLConfigurationService.java:58
String keystorePassword
Definition: AsimbaXMLConfigurationService.java:62

メンバ詳解

◆ ASIMBA_XML_CONFIGURATION_PATH

final String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.ASIMBA_XML_CONFIGURATION_PATH = "webapps/asimba/WEB-INF/conf/asimba.xml"
staticprivate

◆ asimbaAias

String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.asimbaAias
private

◆ asimbaAiasPassword

String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.asimbaAiasPassword
private

◆ keystoreFilePath

String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.keystoreFilePath = null
private

◆ keystorePassword

String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.keystorePassword
private

◆ keystoreType

String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.keystoreType = null
private

◆ log

Logger org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.log
private

◆ PROPERTIES_FILENAME

final String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.PROPERTIES_FILENAME = "asimba.properties"
staticprivate

Name of the file that contains property-list for configuring server

◆ PROPERTIES_FILENAME_PROPERTY

final String org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.PROPERTIES_FILENAME_PROPERTY = "asimba.properties.file"
staticprivate

Name of the system property that specified the asimba.properties file location

◆ sslService

SSLService org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.sslService
private

◆ xmlService

XmlService org.gluu.oxtrust.service.asimba.AsimbaXMLConfigurationService.xmlService
private

このクラス詳解は次のファイルから抽出されました: