aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-controller-core/dcae-controller-platform-server/src/main/server/scripts/encrypt-file.groovy
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-controller-core/dcae-controller-platform-server/src/main/server/scripts/encrypt-file.groovy')
-rw-r--r--dcae-controller-core/dcae-controller-platform-server/src/main/server/scripts/encrypt-file.groovy64
1 files changed, 64 insertions, 0 deletions
diff --git a/dcae-controller-core/dcae-controller-platform-server/src/main/server/scripts/encrypt-file.groovy b/dcae-controller-core/dcae-controller-platform-server/src/main/server/scripts/encrypt-file.groovy
new file mode 100644
index 0000000..ee146c1
--- /dev/null
+++ b/dcae-controller-core/dcae-controller-platform-server/src/main/server/scripts/encrypt-file.groovy
@@ -0,0 +1,64 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+import org.openecomp.ncomp.utils.CryptoUtils
+import java.security.SecureRandom;
+import java.math.BigInteger;
+import org.json.JSONObject;
+import org.yaml.snakeyaml.DumperOptions;
+import org.yaml.snakeyaml.Yaml;
+import static org.openecomp.ncomp.sirius.manager.console.Utils.*;
+
+class X {
+static def object2yaml(Object object) {
+ DumperOptions options = new DumperOptions();
+ options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
+ options.setSplitLines(true);
+ options.setWidth(100000);
+ Yaml y = new Yaml(options);
+ JSONObject json = (JSONObject) object2json(object);
+ def data = y.load(json.toString());
+ return y.dump(data);
+}
+}
+
+
+// http://docs.groovy-lang.org/latest/html/gapi/groovy/util/CliBuilder.html
+def cli = new CliBuilder(usage:'dcae-controller.sh encrypt-file OPTIONS')
+cli.k(longOpt:'key', args:1, 'Public Key File')
+cli.f(longOpt:'file', args:1, 'File')
+
+def options = cli.parse(args)
+
+if (options == null || ! options.key || ! options.file ) {
+ cli.usage()
+ System.exit(1)
+}
+
+def password = new BigInteger(130, new SecureRandom()).toString(32);
+
+println password
+
+str = CryptoUtils.encrypt(password,new File(options.file).text).replace("\r","");
+
+str1 = CryptoUtils.encryptPublic(CryptoUtils.getKey(options.key),password).replace("\r","");
+
+println X.object2yaml(['encrypted-file': [ content:str, 'encrypted-password' : str1 ]])