gluu
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.xdi.oxauth.util.KeyExporter.Cli クラス
org.xdi.oxauth.util.KeyExporter.Cli 連携図
Collaboration graph

公開メンバ関数

 Cli (String[] args)
 
void parse ()
 

非公開メンバ関数

void help ()
 

非公開変数類

String [] args = null
 
Options options = new Options()
 

詳解

構築子と解体子

◆ Cli()

org.xdi.oxauth.util.KeyExporter.Cli.Cli ( String []  args)
inline
63  {
64  this.args = args;
65 
66  options.addOption(KEY_STORE_FILE, true, "Key Store file.");
67  options.addOption(KEY_STORE_PASSWORD, true, "Key Store password.");
68  options.addOption(KEY_ALIAS, true, "Key alias.");
69  options.addOption(EXPORT_FILE, true, "Export file.");
70  options.addOption(HELP, false, "Show help.");
71  }
static final String KEY_ALIAS
Definition: KeyExporter.java:45
Options options
Definition: KeyExporter.java:61
static final String EXPORT_FILE
Definition: KeyExporter.java:46
static final String HELP
Definition: KeyExporter.java:47
static final String KEY_STORE_PASSWORD
Definition: KeyExporter.java:44
String [] args
Definition: KeyExporter.java:60
static final String KEY_STORE_FILE
Definition: KeyExporter.java:43

関数詳解

◆ help()

void org.xdi.oxauth.util.KeyExporter.Cli.help ( )
inlineprivate
128  {
129  HelpFormatter formatter = new HelpFormatter();
130 
131  formatter.printHelp(
132  "KeyExporter -keystore path -keypasswd secret -alias 2d4817e7-5fe8-4b6b-8f64-fe3723625122 -exportfile=export-path",
133  options);
134  System.exit(0);
135  }
Options options
Definition: KeyExporter.java:61

◆ parse()

void org.xdi.oxauth.util.KeyExporter.Cli.parse ( )
inline
73  {
74  CommandLineParser parser = new BasicParser();
75 
76  CommandLine cmd = null;
77  try {
78  cmd = parser.parse(options, args);
79 
80  if (cmd.hasOption(HELP))
81  help();
82 
83  if (cmd.hasOption(KEY_STORE_FILE) && cmd.hasOption(KEY_STORE_PASSWORD) && cmd.hasOption(KEY_ALIAS)
84  && cmd.hasOption(EXPORT_FILE)) {
85 
86  String keyStore = cmd.getOptionValue(KEY_STORE_FILE);
87  String keyStorePasswd = cmd.getOptionValue(KEY_STORE_PASSWORD);
88  String keyAlias = cmd.getOptionValue(KEY_ALIAS);
89  String exportFile = cmd.getOptionValue(EXPORT_FILE);
90 
91  try {
92  SecurityProviderUtility.installBCProvider(true);
93 
94  OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStore, keyStorePasswd,
95  "CN=oxAuth CA Certificates");
96  PrivateKey privateKey = cryptoProvider.getPrivateKey(keyAlias);
97  String base64EncodedKey = WordUtils.wrap(new String(Base64.encode(privateKey.getEncoded())), 64,
98  "\n", true);
99 
100  StringBuilder sb = new StringBuilder();
101  SignatureAlgorithm signatureAlgorithm = cryptoProvider.getSignatureAlgorithm(keyAlias);
102  if (SignatureAlgorithmFamily.RSA.equals(signatureAlgorithm.getFamily())) {
103  sb.append("-----BEGIN RSA PRIVATE KEY-----\n");
104  sb.append(base64EncodedKey);
105  sb.append("\n");
106  sb.append("-----END RSA PRIVATE KEY-----\n");
107  } else {
108  sb.append("-----BEGIN PRIVATE KEY-----\n");
109  sb.append(base64EncodedKey);
110  sb.append("\n");
111  sb.append("-----END PRIVATE KEY-----\n");
112  }
113 
114  FileUtils.writeStringToFile(new File(exportFile), sb.toString());
115  } catch (Exception e) {
116  log.error("Failed to export key", e);
117  help();
118  }
119  } else {
120  help();
121  }
122  } catch (ParseException e) {
123  log.error("Failed to export key", e);
124  help();
125  }
126  }
static final String KEY_ALIAS
Definition: KeyExporter.java:45
Options options
Definition: KeyExporter.java:61
static final String EXPORT_FILE
Definition: KeyExporter.java:46
static final String HELP
Definition: KeyExporter.java:47
static final String KEY_STORE_PASSWORD
Definition: KeyExporter.java:44
String [] args
Definition: KeyExporter.java:60
static final String KEY_STORE_FILE
Definition: KeyExporter.java:43
static final Logger log
Definition: KeyExporter.java:48
void help()
Definition: KeyExporter.java:128

メンバ詳解

◆ args

String [] org.xdi.oxauth.util.KeyExporter.Cli.args = null
private

◆ options

Options org.xdi.oxauth.util.KeyExporter.Cli.options = new Options()
private

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