├── .gitignore ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── crypto_api_explorer.png ├── howtobuild.txt ├── o11nplugin-crypto-core ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── vmware │ │ │ └── o11n │ │ │ └── plugin │ │ │ └── crypto │ │ │ ├── CryptoModuleBuilder.java │ │ │ ├── CryptoPluginAdaptor.java │ │ │ ├── CryptoPluginFactory.java │ │ │ ├── model │ │ │ ├── CryptoCertificate.java │ │ │ ├── CryptoCertificateManager.java │ │ │ ├── CryptoDigest.java │ │ │ ├── CryptoEncoding.java │ │ │ ├── CryptoEncryption.java │ │ │ ├── CryptoRSA.java │ │ │ └── CryptoUtil.java │ │ │ └── service │ │ │ ├── CryptoCertificateService.java │ │ │ ├── CryptoDigestService.java │ │ │ ├── CryptoEncodingService.java │ │ │ ├── CryptoEncryptionService.java │ │ │ └── CryptoRSAService.java │ └── resources │ │ └── com │ │ └── vmware │ │ └── o11n │ │ └── plugin │ │ └── crypto │ │ └── pluginConfig.xml │ └── test │ ├── java │ └── com │ │ └── vmware │ │ └── o11n │ │ └── plugin │ │ └── crypto │ │ ├── CryptoCertificateManagerTest.java │ │ ├── CryptoCertificateServiceTest.java │ │ ├── CryptoCertificateTest.java │ │ ├── CryptoDigestServiceTest.java │ │ ├── CryptoEncodingServiceTest.java │ │ ├── CryptoEncryptionServiceTest.java │ │ ├── CryptoRSAServiceTest.java │ │ ├── CryptoTestData.java │ │ └── CryptoUtilTest.java │ └── resources │ └── log4j.xml ├── o11nplugin-crypto-package ├── HowToSynchronize.txt ├── archetype.keystore ├── pom.xml └── src │ └── main │ └── resources │ ├── META-INF │ └── dunes-meta-inf.xml │ ├── ScriptModule │ └── com │ │ └── vmware │ │ └── o11n │ │ └── plugin │ │ └── crypto │ │ ├── digest │ │ ├── hmacMd5.element_info.xml │ │ ├── hmacMd5.xml │ │ ├── hmacSha1.element_info.xml │ │ ├── hmacSha1.xml │ │ ├── hmacSha256.element_info.xml │ │ ├── hmacSha256.xml │ │ ├── hmacSha384.element_info.xml │ │ ├── hmacSha384.xml │ │ ├── hmacSha512.element_info.xml │ │ ├── hmacSha512.xml │ │ ├── md5.element_info.xml │ │ ├── md5.xml │ │ ├── md5Base64.element_info.xml │ │ ├── md5Base64.xml │ │ ├── sha1.element_info.xml │ │ ├── sha1.xml │ │ ├── sha1Base64.element_info.xml │ │ ├── sha1Base64.xml │ │ ├── sha256.element_info.xml │ │ ├── sha256.xml │ │ ├── sha256Base64.element_info.xml │ │ ├── sha256Base64.xml │ │ ├── sha384.element_info.xml │ │ ├── sha384.xml │ │ ├── sha384Base64.element_info.xml │ │ ├── sha384Base64.xml │ │ ├── sha512.element_info.xml │ │ ├── sha512.xml │ │ ├── sha512Base64.element_info.xml │ │ └── sha512Base64.xml │ │ ├── encoding │ │ ├── base64Decode.element_info.xml │ │ ├── base64Decode.xml │ │ ├── base64Encode.element_info.xml │ │ ├── base64Encode.xml │ │ ├── base64toHex.element_info.xml │ │ ├── base64toHex.xml │ │ ├── base64toMime.element_info.xml │ │ ├── base64toMime.xml │ │ ├── binaryConcatBase64.element_info.xml │ │ ├── binaryConcatBase64.xml │ │ ├── getLengthBase64.element_info.xml │ │ ├── getLengthBase64.xml │ │ ├── getSubsetBase64.element_info.xml │ │ ├── getSubsetBase64.xml │ │ ├── hexToBase64.element_info.xml │ │ ├── hexToBase64.xml │ │ ├── mimeToBase64.element_info.xml │ │ └── mimeToBase64.xml │ │ ├── encryption │ │ ├── aesDecrypt.element_info.xml │ │ ├── aesDecrypt.xml │ │ ├── aesEncrypt.element_info.xml │ │ ├── aesEncrypt.xml │ │ ├── randomAesIV.element_info.xml │ │ ├── randomAesIV.xml │ │ ├── randomDesIV.element_info.xml │ │ ├── randomDesIV.xml │ │ ├── tripleDesDecrypt.element_info.xml │ │ ├── tripleDesDecrypt.xml │ │ ├── tripleDesEncrypt.element_info.xml │ │ └── tripleDesEncrypt.xml │ │ └── rsa │ │ ├── createSignature.element_info.xml │ │ ├── createSignature.xml │ │ ├── decrypt.element_info.xml │ │ ├── decrypt.xml │ │ ├── encrypt.element_info.xml │ │ ├── encrypt.xml │ │ ├── verifySignature.element_info.xml │ │ └── verifySignature.xml │ └── Workflow │ └── Library │ └── Crypto │ ├── Basics │ ├── Digest │ │ ├── MD5 Base64.element_info.xml │ │ ├── MD5 Base64.xml │ │ ├── MD5.element_info.xml │ │ ├── MD5.xml │ │ ├── SHA1 Base64.element_info.xml │ │ ├── SHA1 Base64.xml │ │ ├── SHA1.element_info.xml │ │ ├── SHA1.xml │ │ ├── SHA256 Base64.element_info.xml │ │ ├── SHA256 Base64.xml │ │ ├── SHA256.element_info.xml │ │ ├── SHA256.xml │ │ ├── SHA384 Base64.element_info.xml │ │ ├── SHA384 Base64.xml │ │ ├── SHA384.element_info.xml │ │ ├── SHA384.xml │ │ ├── SHA512 Base64.element_info.xml │ │ ├── SHA512 Base64.xml │ │ ├── SHA512.element_info.xml │ │ └── SHA512.xml │ ├── Encoding │ │ ├── Base64 Decode.element_info.xml │ │ ├── Base64 Decode.xml │ │ ├── Base64 Encode.element_info.xml │ │ ├── Base64 Encode.xml │ │ ├── Base64 to Hex.element_info.xml │ │ ├── Base64 to Hex.xml │ │ ├── Base64 to MimeAttachment.element_info.xml │ │ ├── Base64 to MimeAttachment.xml │ │ ├── Binary Concat Base64.element_info.xml │ │ ├── Binary Concat Base64.xml │ │ ├── Get Length Base64.element_info.xml │ │ ├── Get Length Base64.xml │ │ ├── Get Subset Base64.element_info.xml │ │ ├── Get Subset Base64.xml │ │ ├── Hex to Base64.element_info.xml │ │ ├── Hex to Base64.xml │ │ ├── MimeAttachment to Base64.element_info.xml │ │ └── MimeAttachment to Base64.xml │ ├── Encryption │ │ ├── 3DES Decrypt.element_info.xml │ │ ├── 3DES Decrypt.xml │ │ ├── 3DES Encrypt.element_info.xml │ │ ├── 3DES Encrypt.xml │ │ ├── AES Decrypt.element_info.xml │ │ ├── AES Decrypt.xml │ │ ├── AES Encrypt.element_info.xml │ │ └── AES Encrypt.xml │ ├── HMAC │ │ ├── HMAC md5.element_info.xml │ │ ├── HMAC md5.xml │ │ ├── HMAC sha1.element_info.xml │ │ ├── HMAC sha1.xml │ │ ├── HMAC sha256.element_info.xml │ │ ├── HMAC sha256.xml │ │ ├── HMAC sha384.element_info.xml │ │ ├── HMAC sha384.xml │ │ ├── HMAC sha512.element_info.xml │ │ └── HMAC sha512.xml │ └── RSA │ │ ├── Create RSA Signature.element_info.xml │ │ ├── Create RSA Signature.xml │ │ ├── RSA Decrypt.element_info.xml │ │ ├── RSA Decrypt.xml │ │ ├── RSA Encrypt.element_info.xml │ │ ├── RSA Encrypt.xml │ │ ├── Verify RSA Signature.element_info.xml │ │ └── Verify RSA Signature.xml │ └── Plain String Encryption │ ├── AES128 Decrypt plain string with plain string passphrase.element_info.xml │ ├── AES128 Decrypt plain string with plain string passphrase.xml │ ├── AES128 Encrypt plain string with plain string passphrase.element_info.xml │ ├── AES128 Encrypt plain string with plain string passphrase.xml │ ├── AES256 Decrypt plain string with plain string passphrase.element_info.xml │ ├── AES256 Decrypt plain string with plain string passphrase.xml │ ├── AES256 Encrypt plain string with plain string passphrase.element_info.xml │ └── AES256 Encrypt plain string with plain string passphrase.xml ├── o11nplugin-crypto ├── pom.xml └── src │ └── main │ ├── dar │ └── resources │ │ └── images │ │ ├── default-16x16.png │ │ ├── default-32x32.png │ │ └── item-16x16.png │ └── vmoapp │ └── VSO-INF │ └── vsoapp.txt ├── pom.xml └── vRO8_crypto_api_explorer.png /.gitignore: -------------------------------------------------------------------------------- 1 | .project 2 | .settings/ 3 | .classpath 4 | target/ 5 | o11nplugin-crypto/src/main/dar/VSO-INF/vso.xml 6 | pom.xml.versionsBackup 7 | -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in o11n-plugin-crypto project and our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at oss-coc@vmware.com. 63 | All complaints will be reviewed and investigated promptly and fairly. 64 | 65 | All community leaders are obligated to respect the privacy and security of the 66 | reporter of any incident. 67 | 68 | ## Enforcement Guidelines 69 | 70 | Community leaders will follow these Community Impact Guidelines in determining 71 | the consequences for any action they deem in violation of this Code of Conduct: 72 | 73 | ### 1. Correction 74 | 75 | **Community Impact**: Use of inappropriate language or other behavior deemed 76 | unprofessional or unwelcome in the community. 77 | 78 | **Consequence**: A private, written warning from community leaders, providing 79 | clarity around the nature of the violation and an explanation of why the 80 | behavior was inappropriate. A public apology may be requested. 81 | 82 | ### 2. Warning 83 | 84 | **Community Impact**: A violation through a single incident or series 85 | of actions. 86 | 87 | **Consequence**: A warning with consequences for continued behavior. No 88 | interaction with the people involved, including unsolicited interaction with 89 | those enforcing the Code of Conduct, for a specified period of time. This 90 | includes avoiding interactions in community spaces as well as external channels 91 | like social media. Violating these terms may lead to a temporary or 92 | permanent ban. 93 | 94 | ### 3. Temporary Ban 95 | 96 | **Community Impact**: A serious violation of community standards, including 97 | sustained inappropriate behavior. 98 | 99 | **Consequence**: A temporary ban from any sort of interaction or public 100 | communication with the community for a specified period of time. No public or 101 | private interaction with the people involved, including unsolicited interaction 102 | with those enforcing the Code of Conduct, is allowed during this period. 103 | Violating these terms may lead to a permanent ban. 104 | 105 | ### 4. Permanent Ban 106 | 107 | **Community Impact**: Demonstrating a pattern of violation of community 108 | standards, including sustained inappropriate behavior, harassment of an 109 | individual, or aggression toward or disparagement of classes of individuals. 110 | 111 | **Consequence**: A permanent ban from any sort of public interaction within 112 | the community. 113 | 114 | ## Attribution 115 | 116 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 117 | version 2.0, available at 118 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 119 | 120 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 121 | enforcement ladder](https://github.com/mozilla/diversity). 122 | 123 | [homepage]: https://www.contributor-covenant.org 124 | 125 | For answers to common questions about this code of conduct, see the FAQ at 126 | https://www.contributor-covenant.org/faq. Translations are available at 127 | https://www.contributor-covenant.org/translations. 128 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to o11n-plugin-crypto 2 | 3 | The o11n-plugin-crypto project team welcomes contributions from the community. 4 | Before you start working with o11n-plugin-crypto, please read our 5 | [Developer Certificate of Origin](https://cla.vmware.com/dco). All contributions 6 | to this repository must be signed as described on that page. 7 | Your signature certifies that you wrote the patch or have the right 8 | to pass it on as an open-source patch. 9 | 10 | ## Contribution Flow 11 | 12 | This is a rough outline of what a contributor's workflow looks like: 13 | 14 | - Create a topic branch from where you want to base your work 15 | - Make commits of logical units 16 | - Make sure your commit messages are in the proper format (see below) 17 | - Push your changes to a topic branch in your fork of the repository 18 | - Submit a pull request 19 | 20 | Example: 21 | 22 | ``` shell 23 | git remote add upstream https://github.com/vmware/o11n-plugin-crypto.git 24 | git checkout -b my-new-feature master 25 | git commit -a 26 | git push origin my-new-feature 27 | ``` 28 | 29 | ### Staying In Sync With Upstream 30 | 31 | When your branch gets out of sync with the vmware/master branch, use the following to update: 32 | 33 | ``` shell 34 | git checkout my-new-feature 35 | git fetch -a 36 | git pull --rebase upstream master 37 | git push --force-with-lease origin my-new-feature 38 | ``` 39 | 40 | ### Updating pull requests 41 | 42 | If your PR fails to pass CI or needs changes based on code review, you'll most likely want to squash these changes into 43 | existing commits. 44 | 45 | If your pull request contains a single commit or your changes are related to the most recent commit, you can simply 46 | amend the commit. 47 | 48 | ``` shell 49 | git add . 50 | git commit --amend 51 | git push --force-with-lease origin my-new-feature 52 | ``` 53 | 54 | If you need to squash changes into an earlier commit, you can use: 55 | 56 | ``` shell 57 | git add . 58 | git commit --fixup 59 | git rebase -i --autosquash master 60 | git push --force-with-lease origin my-new-feature 61 | ``` 62 | 63 | Be sure to add a comment to the PR indicating your new changes are ready to review, as GitHub does not generate a 64 | notification when you git push. 65 | 66 | ### Formatting Commit Messages 67 | 68 | We follow the conventions on [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/). 69 | 70 | Be sure to include any related GitHub issue references in the commit message. See 71 | [GFM syntax](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown) for referencing issues 72 | and commits. 73 | 74 | ## Reporting Bugs and Creating Issues 75 | 76 | When opening a new issue, try to roughly follow the commit message format conventions above. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/LICENSE -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | vRealize Orchestrator Encryption Plugin 1.0.0 2 | 3 | Copyright (c) 2017 VMware, Inc. All Rights Reserved. 4 | 5 | This product is licensed to you under the BSD-2 license (the "License"). You may not use this product except in compliance with the BSD-2 License. 6 | 7 | This product may include a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file. 8 | 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vRealize Orchestrator Encryption Plugin 2 | 3 | ## Overview 4 | An inventory-less vRealize Orchestrator (vRO) plugin to provide Encoding, Digest, Cipher, and RSA Encryption. 5 | 6 | When an integration or automation project with vRO needed some encryption, developers typically used either CryptoJS or JSEncrypt on top of the Rhino Javascript runtime of Orchestrator. 7 | 8 | This plugin provides similar methods, is compatible with binary data and is exponentially more efficient with CPU time. 9 | 10 | | vRO 7 API Explorer view | vRO 8 API Explorer view | 11 | | --- | --- | 12 | | ![Crypto Plugin shown in api explorer from vRO 7](crypto_api_explorer.png) | ![Crypto Plugin shown in api explorer from vRO 8](vRO8_crypto_api_explorer.png) | 13 | 14 | ## Try it out 15 | 16 | Latest stable compiled plugin can be found at [releases](https://github.com/vmware/o11n-plugin-crypto/releases) 17 | 18 | Add it to your Orchestrator as any other plugin. 19 | 20 | ### Prerequisites 21 | 22 | * vRealize Orchestrator (vRO) 7.0 or greater including vRO 8.x. Last Validated on vRO 8.5.0 23 | 24 | ### Build From Source 25 | 26 | 1. Get access to a /vco-repo from a running vRO VM. Typical URL is http://*vro.corp.local*:8280/vco-repo. Note the version of your Orchestrator for use in the build command (Ex: 7.1.0, 7.2.0) 27 | 2. mvn clean install -Dvco.version=*7.1.0* -DrepoUrl=http://*vro.corp.local*:8280/vco-repo 28 | 3. The compiled plugin will be in the *target* directory 29 | 30 | ## Documentation 31 | 32 | Please see the project [wiki](https://github.com/vmware/o11n-plugin-crypto/wiki) for plugin documentation and usage samples. 33 | 34 | ## Contributing 35 | 36 | See [CONTRIBUTING](CONTRIBUTING.md) for details on submitting changes and the contribution workflow. 37 | 38 | ## License 39 | 40 | vRealize Orchestrator Encryption Plugin is available under the [BSD 2-Clause license](LICENSE). 41 | -------------------------------------------------------------------------------- /crypto_api_explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/crypto_api_explorer.png -------------------------------------------------------------------------------- /howtobuild.txt: -------------------------------------------------------------------------------- 1 | #Example: 2 | 3 | mvn clean install -Dbuild.number=25 -Dvco.version=7.1.0 -DrepoUrl=http://192.168.241.44:7100/vco-repo 4 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 4.0.0 6 | o11nplugin-crypto-core 7 | jar 8 | 9 | 10 | crypto 11 | com.vmware.o11n.plugin 12 | 1.1.0 13 | 14 | 15 | 16 | 17 | vco 18 | ${repoUrl} 19 | 20 | 21 | 22 | 23 | vco-maven 24 | vCO Maven Plugin Repository 25 | ${repoUrl} 26 | 27 | 28 | 29 | 30 | 31 | com.vmware.o11n 32 | o11n-provided-deps 33 | provided 34 | pom 35 | 36 | 37 | 38 | com.vmware.o11n 39 | o11n-sdkapi 40 | provided 41 | 42 | 43 | com.vmware.o11n 44 | o11n-spring-tools 45 | 46 | 47 | net.oauth.core 48 | oauth 49 | 20100527 50 | 51 | 52 | com.vmware.o11n 53 | o11n-model 54 | 7.1.0 55 | provided 56 | 57 | 58 | junit 59 | junit 60 | 4.13.1 61 | test 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/CryptoModuleBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import com.vmware.o11n.plugin.sdk.module.ModuleBuilder; 8 | 9 | public final class CryptoModuleBuilder extends ModuleBuilder { 10 | 11 | private static final String DESCRIPTION = "vRealize Orchestrator Encryption Plugin"; 12 | 13 | private static final String DATASOURCE = "main-datasource"; 14 | 15 | @Override 16 | public void configure() { 17 | module("Crypto").withDescription(DESCRIPTION).withImage("images/default-16x16.png") 18 | .basePackages(CryptoModuleBuilder.class.getPackage().getName()).version( 19 | "${project.version}"); 20 | 21 | installation(InstallationMode.BUILD).action(ActionType.INSTALL_PACKAGE, 22 | "packages/${project.artifactId}-package-${project.version}.package"); 23 | 24 | finderDatasource(CryptoPluginAdaptor.class, DATASOURCE).anonymousLogin(LoginMode.INTERNAL); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/CryptoPluginAdaptor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import org.springframework.context.ApplicationContext; 8 | import org.springframework.context.support.ClassPathXmlApplicationContext; 9 | 10 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginAdaptor; 11 | 12 | 13 | public final class CryptoPluginAdaptor extends AbstractSpringPluginAdaptor{ 14 | 15 | private static final String DEFAULT_CONFIG = "com/vmware/o11n/plugin/crypto/pluginConfig.xml"; 16 | 17 | public static final String PLUGIN_NAME = "vRealize Orchestrator Encryption Plugin"; 18 | 19 | static final String ROOT = "${rootElement}Finder"; 20 | static final String REL_ROOTS = "roots"; 21 | 22 | @Override 23 | protected ApplicationContext createApplicationContext(ApplicationContext defaultParent) { 24 | ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext( 25 | new String[] { DEFAULT_CONFIG }, false, defaultParent); 26 | applicationContext.setClassLoader(getClass().getClassLoader()); 27 | applicationContext.refresh(); 28 | 29 | return applicationContext; 30 | } 31 | } -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/CryptoPluginFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import java.util.List; 8 | 9 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginFactory; 10 | import com.vmware.o11n.plugin.sdk.spring.InventoryRef; 11 | 12 | import ch.dunes.vso.sdk.api.QueryResult; 13 | 14 | public final class CryptoPluginFactory extends AbstractSpringPluginFactory { 15 | 16 | @Override 17 | public Object find(InventoryRef ref) { 18 | throw new UnsupportedOperationException("implement me"); 19 | } 20 | 21 | @Override 22 | public QueryResult findAll(String type, String query) { 23 | throw new UnsupportedOperationException("implement me"); 24 | } 25 | 26 | @Override 27 | public List findChildrenInRootRelation(String type, String relationName) { 28 | throw new UnsupportedOperationException("implement me"); 29 | } 30 | 31 | @Override 32 | public List findChildrenInRelation(InventoryRef parent, String relationName) { 33 | throw new UnsupportedOperationException("implement me"); 34 | } 35 | } -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/model/CryptoCertificateManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.model; 6 | 7 | import java.io.IOException; 8 | import java.net.URL; 9 | import java.security.KeyManagementException; 10 | import java.security.NoSuchAlgorithmException; 11 | import java.security.cert.CertificateEncodingException; 12 | import java.security.cert.CertificateException; 13 | import java.security.cert.X509Certificate; 14 | import java.util.ArrayList; 15 | import java.util.List; 16 | 17 | import org.slf4j.Logger; 18 | import org.slf4j.LoggerFactory; 19 | import org.springframework.beans.factory.annotation.Autowired; 20 | 21 | import com.vmware.o11n.plugin.crypto.service.CryptoCertificateService; 22 | import com.vmware.o11n.plugin.sdk.annotation.VsoMethod; 23 | import com.vmware.o11n.plugin.sdk.annotation.VsoObject; 24 | import com.vmware.o11n.plugin.sdk.annotation.VsoParam; 25 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginFactory; 26 | 27 | import ch.dunes.vso.sdk.api.IPluginFactory; 28 | 29 | @VsoObject( 30 | create=false, 31 | strict=true, 32 | singleton=true, 33 | description="Provides methods to parse or fetch certificates") 34 | public class CryptoCertificateManager { 35 | private final Logger log = LoggerFactory.getLogger(CryptoCertificateManager.class); 36 | 37 | @Autowired 38 | private CryptoCertificateService service; 39 | 40 | public static CryptoCertificateManager createScriptingSingleton(IPluginFactory factory) { 41 | return ((AbstractSpringPluginFactory) factory).createScriptingObject(CryptoCertificateManager.class); 42 | } 43 | 44 | @VsoMethod(description="parses a PEM encoded X.509 Certificate") 45 | public CryptoCertificate parseCertificatePem( 46 | @VsoParam(description="PEM encoded Certificate")String pemCertString) throws CertificateException { 47 | X509Certificate cert = service.parseCertificate(pemCertString); 48 | return new CryptoCertificate(cert); 49 | } 50 | 51 | @VsoMethod(description="Returns array of certificates presented by an https server") 52 | public CryptoCertificate[] getHttpsCertificate( 53 | @VsoParam(description="HTTPS URL to get certificate chain of") String urlString) throws KeyManagementException, NoSuchAlgorithmException, IOException, CertificateEncodingException { 54 | ArrayList toReturn = new ArrayList<>(); 55 | URL url = new URL(urlString); 56 | List certs = service.getCertHttps(url); 57 | if (log.isDebugEnabled() && certs != null){ 58 | log.debug("Number of certs found at url: "+certs.size()); 59 | } 60 | for (X509Certificate cert : certs) { 61 | toReturn.add(new CryptoCertificate(cert)); 62 | } 63 | return toReturn.toArray(new CryptoCertificate[toReturn.size()]); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/model/CryptoDigest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.model; 6 | 7 | import org.slf4j.Logger; 8 | import org.slf4j.LoggerFactory; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | 11 | import com.vmware.o11n.plugin.crypto.service.CryptoDigestService; 12 | import com.vmware.o11n.plugin.sdk.annotation.VsoMethod; 13 | import com.vmware.o11n.plugin.sdk.annotation.VsoObject; 14 | import com.vmware.o11n.plugin.sdk.annotation.VsoParam; 15 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginFactory; 16 | 17 | import ch.dunes.vso.sdk.api.IPluginFactory; 18 | 19 | @VsoObject( 20 | create=false, 21 | strict=true, 22 | singleton=true, 23 | description="Provides methods to hash data with different digests") 24 | 25 | public class CryptoDigest { 26 | public static final String TYPE = "CryptoDigest"; 27 | private final Logger log = LoggerFactory.getLogger(CryptoDigest.class); 28 | 29 | @Autowired 30 | private CryptoDigestService service; 31 | 32 | public static CryptoDigest createScriptingSingleton(IPluginFactory factory) { 33 | return ((AbstractSpringPluginFactory) factory).createScriptingObject(CryptoDigest.class); 34 | } 35 | 36 | @VsoMethod(description = "Returns a Base64 encoded 128 bit MD5 hash") 37 | public String md5Base64(@VsoParam(description="Base64 encoded data to hash with MD5") String dataB64) { 38 | return service.md5Base64(dataB64); 39 | } 40 | 41 | @VsoMethod(description = "Returns a Base64 encoded 128 bit MD5 hash") 42 | public String md5(@VsoParam(description="Plain String to hash with MD5") String data) { 43 | return service.md5(data); 44 | } 45 | 46 | @VsoMethod(description = "Returns a Base64 encoded 160 bit SHA-1 hash") 47 | public String sha1Base64(@VsoParam(description="Base64 encoded data to hash with SHA1") String dataB64) { 48 | return service.sha1Base64(dataB64); 49 | } 50 | 51 | @VsoMethod(description = "Returns a Base64 encoded 160 bit SHA-1 hash") 52 | public String sha1(@VsoParam(description="Plain String to hash with SHA1") String data) { 53 | return service.sha1(data); 54 | } 55 | 56 | @VsoMethod(description = "Returns a Base64 encoded 256 bit SHA256 hash") 57 | public String sha256Base64(@VsoParam(description="Base64 encoded data to hash with SHA256") String dataB64) { 58 | return service.sha256Base64(dataB64); 59 | } 60 | 61 | @VsoMethod(description = "Returns a Base64 encoded 256 bit SHA256 hash") 62 | public String sha256(@VsoParam(description="Plain String to hash with SHA256") String data) { 63 | return service.sha256(data); 64 | } 65 | 66 | @VsoMethod(description = "Returns a Base64 encoded 384 bit SHA384 hash") 67 | public String sha384Base64(@VsoParam(description="Base64 encoded data to hash with SHA384") String dataB64) { 68 | return service.sha384Base64(dataB64); 69 | } 70 | 71 | @VsoMethod(description = "Returns a Base64 encoded 384 bit SHA384 hash") 72 | public String sha384(@VsoParam(description="Plain String to hash with SHA384") String data) { 73 | return service.sha384(data); 74 | } 75 | 76 | @VsoMethod(description = "Returns a Base64 encoded 512 bit SHA512 hash") 77 | public String sha512Base64(@VsoParam(description="Base64 encoded data to hash with SHA512") String dataB64) { 78 | return service.sha512Base64(dataB64); 79 | } 80 | 81 | @VsoMethod(description = "Returns a Base64 encoded 512 bit SHA512 hash") 82 | public String sha512(@VsoParam(description="Plain String to hash with SHA512") String data) { 83 | return service.sha512(data); 84 | } 85 | 86 | @VsoMethod(description = "Returns HmacMD5 MAC for the given key and data Base64 encoded") 87 | public String hmacMd5(@VsoParam(description="Secret Key Base64 encoded") String keyB64, 88 | @VsoParam(description="Data to sign Base64 encoded") String dataB64) { 89 | return service.hmacMd5(keyB64, dataB64); 90 | } 91 | 92 | @VsoMethod(description = "Returns HmacSHA1 MAC for the given key and data Base64 encoded") 93 | public String hmacSha1(@VsoParam(description="Secret Key Base64 encoded") String keyB64, 94 | @VsoParam(description="Data to sign Base64 encoded") String dataB64) { 95 | return service.hmacSha1(keyB64, dataB64); 96 | } 97 | @VsoMethod(description = "Returns HmacSHA256 MAC for the given key and data Base64 encoded") 98 | public String hmacSha256(@VsoParam(description="Secret Key Base64 encoded") String keyB64, 99 | @VsoParam(description="Data to sign Base64 encoded") String dataB64) { 100 | return service.hmacSha256(keyB64, dataB64); 101 | } 102 | 103 | @VsoMethod(description = "Returns HmacSHA384 MAC for the given key and data Base64 encoded") 104 | public String hmacSha384(@VsoParam(description="Secret Key Base64 encoded") String keyB64, 105 | @VsoParam(description="Data to sign Base64 encoded") String dataB64) { 106 | return service.hmacSha384(keyB64, dataB64); 107 | } 108 | 109 | @VsoMethod(description = "Returns HmacSHA512 MAC for the given key and data Base64 encoded") 110 | public String hmacSha512(@VsoParam(description="Secret Key Base64 encoded") String keyB64, 111 | @VsoParam(description="Data to sign Base64 encoded") String dataB64) { 112 | return service.hmacSha512(keyB64, dataB64); 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/model/CryptoEncoding.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.model; 6 | 7 | import java.io.UnsupportedEncodingException; 8 | 9 | import org.apache.commons.codec.DecoderException; 10 | import org.slf4j.Logger; 11 | import org.slf4j.LoggerFactory; 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | 14 | import com.vmware.o11n.plugin.crypto.service.CryptoEncodingService; 15 | import com.vmware.o11n.plugin.sdk.annotation.VsoMethod; 16 | import com.vmware.o11n.plugin.sdk.annotation.VsoObject; 17 | import com.vmware.o11n.plugin.sdk.annotation.VsoParam; 18 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginFactory; 19 | 20 | import ch.dunes.model.fileattachment.MimeAttachment; 21 | import ch.dunes.vso.sdk.api.IPluginFactory; 22 | 23 | @VsoObject( 24 | create=false, 25 | strict=true, 26 | singleton=true, 27 | description="Provides methods to encode/decode strings between different encodings") 28 | 29 | public class CryptoEncoding { 30 | public static final String TYPE = "CryptoEncoding"; 31 | 32 | private final Logger log = LoggerFactory.getLogger(CryptoEncoding.class); 33 | 34 | @Autowired 35 | private CryptoEncodingService service; 36 | 37 | public static CryptoEncoding createScriptingSingleton(IPluginFactory factory) { 38 | return ((AbstractSpringPluginFactory) factory).createScriptingObject(CryptoEncoding.class); 39 | } 40 | 41 | @VsoMethod(description="Base64 Encoder") 42 | public String base64Encode(@VsoParam(description="Data to encode") String data) throws UnsupportedEncodingException { 43 | return service.base64Encode(data); 44 | } 45 | 46 | @VsoMethod(description="Base64 Encoder") 47 | public String base64EncodeBytes(@VsoParam(description="Data to encode") byte[] data) throws UnsupportedEncodingException { 48 | return service.base64Encode(data); 49 | } 50 | 51 | @VsoMethod(description="Base64 Decoder") 52 | public String base64Decode(@VsoParam(description="Base64 data to decode") String b64data) { 53 | return service.base64Decode(b64data); 54 | } 55 | 56 | @VsoMethod(description="Base64 to Hex Encoder") 57 | public String base64toHex(@VsoParam(description="Base64 data to convert to Hex") String b64data) { 58 | return service.base64toHex(b64data); 59 | } 60 | 61 | @VsoMethod(description="Hex to Base64 Encoder") 62 | public String hexToBase64(@VsoParam(description="Hex data to convert to Base64") String hex) throws DecoderException { 63 | return service.hexToBase64(hex); 64 | } 65 | 66 | @VsoMethod(description="Base64 to MimeAttachment",vsoReturnType="MimeAttachment") 67 | public MimeAttachment base64ToMime( 68 | @VsoParam(description="Base64 encoded data") String b64data, 69 | @VsoParam(description="Mime type of data") String mimeType, 70 | @VsoParam(description="Filename of MimeAttachment") String fileName) { 71 | return service.base64ToMime(b64data, mimeType, fileName); 72 | } 73 | 74 | @VsoMethod(description="Extracts data from MimeAttachment as Base64") 75 | public String mimeToBase64(@VsoParam(description="",vsoType="MimeAttachment") MimeAttachment mime) { 76 | return service.mimeToBase64(mime); 77 | } 78 | 79 | @VsoMethod(description="Decodes two Base64 strings and concatenates the binary data. Returns base64 encoded result") 80 | public String binaryConcatBase64( 81 | @VsoParam(description="First Base64 encoded data") String b64data1, 82 | @VsoParam(description="Second Base64 encoded data to append") String b64data2) { 83 | return service.binaryConcatBase64(b64data1, b64data2); 84 | } 85 | 86 | @VsoMethod(description="Decodes a Base64 String and returns the number of bytes that were encoded.",vsoReturnType="Number") 87 | public int getLengthBase64(@VsoParam(description="Base64 data") String b64data) { 88 | return service.getLengthBase64(b64data); 89 | } 90 | 91 | @VsoMethod(description="Returns a subset of bytes from a Base64 encoded string") 92 | public String getSubsetBase64( 93 | @VsoParam(description="Base64 data") String b64data, 94 | @VsoParam(description="Starting byte index to get subset of data (inclusive). Starts at 0",vsoType="Number") int start, 95 | @VsoParam(description="number of bytes to return. Must be 1 or greater",vsoType="Number") int length) { 96 | if (length < 1) { 97 | throw new IllegalArgumentException("length must be 1 or greater"); 98 | } 99 | if (start < 0) { 100 | throw new IllegalArgumentException("start must be 0 or greater"); 101 | } 102 | return service.getSubsetBase64(b64data, start, length); 103 | } 104 | 105 | } 106 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/model/CryptoEncryption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.model; 6 | 7 | import java.security.InvalidAlgorithmParameterException; 8 | import java.security.InvalidKeyException; 9 | import java.security.NoSuchAlgorithmException; 10 | 11 | import javax.crypto.BadPaddingException; 12 | import javax.crypto.IllegalBlockSizeException; 13 | import javax.crypto.NoSuchPaddingException; 14 | 15 | import org.slf4j.Logger; 16 | import org.slf4j.LoggerFactory; 17 | import org.springframework.beans.factory.annotation.Autowired; 18 | 19 | import com.vmware.o11n.plugin.crypto.service.CryptoEncryptionService; 20 | import com.vmware.o11n.plugin.sdk.annotation.VsoMethod; 21 | import com.vmware.o11n.plugin.sdk.annotation.VsoObject; 22 | import com.vmware.o11n.plugin.sdk.annotation.VsoParam; 23 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginFactory; 24 | 25 | import ch.dunes.vso.sdk.api.IPluginFactory; 26 | 27 | @VsoObject( 28 | create=false, 29 | strict=true, 30 | singleton=true, 31 | description="Provides static methods to encrypt/decrypt data with different ciphers. All ciphers use CBC mode with PKCS5 padding") 32 | public class CryptoEncryption { 33 | 34 | public static final String TYPE = "CryptoEncryption"; 35 | private final Logger log = LoggerFactory.getLogger(CryptoEncryption.class); 36 | 37 | @Autowired 38 | private CryptoEncryptionService service; 39 | 40 | public static CryptoEncryption createScriptingSingleton(IPluginFactory factory) { 41 | return ((AbstractSpringPluginFactory) factory).createScriptingObject(CryptoEncryption.class); 42 | } 43 | 44 | @VsoMethod(description="AES Encryption. Returns encrypted data Base64 encoded") 45 | public String aesEncrypt( 46 | @VsoParam(description="Data to encrypt Base64 encoded") String dataB64, 47 | @VsoParam(description="Encryption secret Base64 encoded. For AES128 this should be 128 bits (16 bytes) long. For AES256 this should be 256 bits (32 bytes) long.") String secretB64, 48 | @VsoParam(description="Initialization Vector Base64 encoded. 16 bytes long") String ivB64) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException { 49 | return service.aesEncrypt(dataB64, secretB64, ivB64); 50 | } 51 | 52 | @VsoMethod(description="AES Decryption. Returns data Base64 encoded") 53 | public String aesDecrypt( 54 | @VsoParam(description="Data to decrypt Base64 encoded.") String encryptedB64, 55 | @VsoParam(description="Encryption secret Base64 encoded. For AES128 this should be 128 bits (16 bytes) long. For AES256 this should be 256 bits (32 bytes) long.") String secretB64, 56 | @VsoParam(description="Initialization vector Base64 encoded. 16 bytes long") String ivB64) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException { 57 | return service.aesDecrypt(encryptedB64, secretB64, ivB64); 58 | } 59 | 60 | @VsoMethod(description="3DES Encryption. Returns encrypted data Base64 encoded") 61 | public String tripleDesEncrypt( 62 | @VsoParam(description="Data to encrypt Base64 encoded") String dataB64, 63 | @VsoParam(description="Encryption secret Base64 encoded. 192 bits (24 bytes) long. If longer, only the first 24 bytes will be used.") String secretB64, 64 | @VsoParam(description="Base64 encoded initialization vector. 8 bytes long") String ivB64) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException { 65 | return service.tripleDesEncrypt(dataB64, secretB64, ivB64); 66 | } 67 | 68 | @VsoMethod(description="3DES Decryption. Returns data Base64 encoded") 69 | public String tripleDesDecrypt( 70 | @VsoParam(description="Data to decrypt Base64 encoded.") String encryptedB64, 71 | @VsoParam(description="Encryption secret Base64 encoded. 192 bits (24 bytes) long. If longer, only the first 24 bytes will be used.") String secretB64, 72 | @VsoParam(description="Base64 encoded initialization vector. 8 bytes long") String ivB64) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException { 73 | return service.tripleDesDecrypt(encryptedB64, secretB64, ivB64); 74 | } 75 | 76 | @VsoMethod(description="Returns 16 random bytes encoded as a Base64 string suitable for an AES Initialization Vector") 77 | public String generateRandomIv() { 78 | return service.generateRandomBytes(16); 79 | } 80 | 81 | @VsoMethod(description="Returns a number of random bytes encoded as a Base64 string") 82 | public String generateRandomBytes(@VsoParam(description="Number of random bytes",vsoType="Number") Integer numberOfBytes) { 83 | return service.generateRandomBytes(numberOfBytes); 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/model/CryptoRSA.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.model; 6 | 7 | import java.io.IOException; 8 | import java.security.InvalidKeyException; 9 | import java.security.NoSuchAlgorithmException; 10 | import java.security.SignatureException; 11 | import java.security.spec.InvalidKeySpecException; 12 | 13 | import javax.crypto.BadPaddingException; 14 | import javax.crypto.IllegalBlockSizeException; 15 | import javax.crypto.NoSuchPaddingException; 16 | 17 | import org.slf4j.Logger; 18 | import org.slf4j.LoggerFactory; 19 | import org.springframework.beans.factory.annotation.Autowired; 20 | 21 | import com.vmware.o11n.plugin.crypto.service.CryptoRSAService; 22 | import com.vmware.o11n.plugin.sdk.annotation.VsoMethod; 23 | import com.vmware.o11n.plugin.sdk.annotation.VsoObject; 24 | import com.vmware.o11n.plugin.sdk.annotation.VsoParam; 25 | import com.vmware.o11n.plugin.sdk.spring.AbstractSpringPluginFactory; 26 | 27 | import ch.dunes.vso.sdk.api.IPluginFactory; 28 | 29 | @VsoObject( 30 | create=false, 31 | strict=true, 32 | singleton=true, 33 | description="Provides static methods to encrypt / decrypt / sign data with RSA style encryption") 34 | public class CryptoRSA { 35 | public static final String TYPE = "CryptoRSA"; 36 | private final Logger log = LoggerFactory.getLogger(CryptoRSA.class); 37 | 38 | @Autowired 39 | private CryptoRSAService service; 40 | 41 | public static CryptoRSA createScriptingSingleton(IPluginFactory factory) { 42 | return ((AbstractSpringPluginFactory) factory).createScriptingObject(CryptoRSA.class); 43 | } 44 | 45 | @VsoMethod(description="Asymmetric RSA Encryption. Result is Base64 encoded") 46 | public String encrypt(@VsoParam(description="PEM encoded Public or Private Key")String key, @VsoParam(description="Base64 encoded data to encrypt")String dataB64) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException { 47 | return service.encrypt(key, dataB64); 48 | } 49 | 50 | @VsoMethod(description = "Asymmetric RSA Decryption. Result is Base64 encoded") 51 | public String decrypt(@VsoParam(description="PEM encoded Private Key")String key, @VsoParam(description="Base64 encoded encrypted data")String encryptedB64) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException { 52 | return service.decrypt(key, encryptedB64); 53 | } 54 | 55 | @VsoMethod(description = "Creates a RSA Signature") 56 | public String createSignature(@VsoParam(description="PEM encoded Private Key")String key, @VsoParam(description="Base64 encoded message to sign")String dataB64) throws InvalidKeyException, NoSuchAlgorithmException, InvalidKeySpecException, SignatureException, IOException { 57 | return service.sign(key, dataB64); 58 | } 59 | 60 | @VsoMethod(description = "Verifies a RSA Signature") 61 | public boolean verifySignature(@VsoParam(description="PEM encoded Public or Private Key")String key, @VsoParam(description="Base64 encoded signed message")String dataB64, @VsoParam(description="Base64 encoded RSA signature to verify")String signatureB64) throws InvalidKeyException, NoSuchAlgorithmException, InvalidKeySpecException, SignatureException, IOException { 62 | return service.verifySignature(key, dataB64, signatureB64); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/service/CryptoDigestService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.service; 6 | 7 | import org.apache.commons.codec.binary.Base64; 8 | import org.apache.commons.codec.digest.DigestUtils; 9 | import org.apache.commons.codec.digest.HmacUtils; 10 | import org.slf4j.Logger; 11 | import org.slf4j.LoggerFactory; 12 | import org.springframework.stereotype.Component; 13 | 14 | @Component 15 | public class CryptoDigestService { 16 | 17 | private final Logger log = LoggerFactory.getLogger(CryptoDigestService.class); 18 | 19 | public String md5(String data) { 20 | return Base64.encodeBase64String(DigestUtils.md5(data)); 21 | } 22 | public String md5Base64(String dataB64) { 23 | validateB64(dataB64); 24 | return Base64.encodeBase64String(DigestUtils.md5(Base64.decodeBase64(dataB64))); 25 | } 26 | 27 | public String sha1(String data) { 28 | return Base64.encodeBase64String(DigestUtils.sha1(data)); 29 | } 30 | public String sha1Base64(String dataB64) { 31 | validateB64(dataB64); 32 | return Base64.encodeBase64String(DigestUtils.sha1(Base64.decodeBase64(dataB64))); 33 | } 34 | 35 | public String sha256(String data) { 36 | return Base64.encodeBase64String(DigestUtils.sha256(data)); 37 | } 38 | public String sha256Base64(String dataB64) { 39 | validateB64(dataB64); 40 | return Base64.encodeBase64String(DigestUtils.sha256(Base64.decodeBase64(dataB64))); 41 | } 42 | 43 | public String sha384(String data) { 44 | return Base64.encodeBase64String(DigestUtils.sha384(data)); 45 | } 46 | public String sha384Base64(String dataB64) { 47 | validateB64(dataB64); 48 | return Base64.encodeBase64String(DigestUtils.sha384(Base64.decodeBase64(dataB64))); 49 | } 50 | 51 | public String sha512(String data) { 52 | return Base64.encodeBase64String(DigestUtils.sha512(data)); 53 | } 54 | public String sha512Base64(String dataB64) { 55 | validateB64(dataB64); 56 | return Base64.encodeBase64String(DigestUtils.sha512(Base64.decodeBase64(dataB64))); 57 | } 58 | 59 | 60 | /** 61 | * HmacMD5 62 | * 63 | * @param keyB64 Secret key Base64 encoded 64 | * @param dataB64 Data to sign Base64 encoded 65 | * @return HmacMd5 MAC for the given key and data Base64 encoded 66 | */ 67 | public String hmacMd5(String keyB64, String dataB64) { 68 | validateB64(keyB64); 69 | validateB64(dataB64); 70 | final byte[] key = Base64.decodeBase64(keyB64); 71 | final byte[] data = Base64.decodeBase64(dataB64); 72 | 73 | return Base64.encodeBase64String(HmacUtils.hmacMd5(key, data)); 74 | } 75 | 76 | /** 77 | * HmacSHA1 78 | * 79 | * @param keyB64 Secret key Base64 encoded 80 | * @param dataB64 Data to sign Base64 encoded 81 | * @return HmacSha1 MAC for the given key and data Base64 encoded 82 | */ 83 | public String hmacSha1(String keyB64, String dataB64) { 84 | validateB64(keyB64); 85 | validateB64(dataB64); 86 | final byte[] key = Base64.decodeBase64(keyB64); 87 | final byte[] data = Base64.decodeBase64(dataB64); 88 | 89 | return Base64.encodeBase64String(HmacUtils.hmacSha1(key, data)); 90 | } 91 | 92 | /** 93 | * HmacSHA256 94 | * 95 | * @param keyB64 Secret key Base64 encoded 96 | * @param dataB64 Data to sign Base64 encoded 97 | * @return HmacSha256 MAC for the given key and data Base64 encoded 98 | */ 99 | public String hmacSha256(String keyB64, String dataB64) { 100 | validateB64(keyB64); 101 | validateB64(dataB64); 102 | final byte[] key = Base64.decodeBase64(keyB64); 103 | final byte[] data = Base64.decodeBase64(dataB64); 104 | 105 | return Base64.encodeBase64String(HmacUtils.hmacSha256(key, data)); 106 | } 107 | 108 | /** 109 | * HmacSHA384 110 | * 111 | * @param keyB64 Secret key Base64 encoded 112 | * @param dataB64 Data to sign Base64 encoded 113 | * @return HmacSha384 MAC for the given key and data Base64 encoded 114 | */ 115 | public String hmacSha384(String keyB64, String dataB64) { 116 | validateB64(keyB64); 117 | validateB64(dataB64); 118 | final byte[] key = Base64.decodeBase64(keyB64); 119 | final byte[] data = Base64.decodeBase64(dataB64); 120 | 121 | return Base64.encodeBase64String(HmacUtils.hmacSha384(key, data)); 122 | } 123 | 124 | /** 125 | * HmacSHA512 126 | * 127 | * @param keyB64 Secret key Base64 encoded 128 | * @param dataB64 Data to sign Base64 encoded 129 | * @return HmacSha512 MAC for the given key and data Base64 encoded 130 | */ 131 | public String hmacSha512(String keyB64, String dataB64) { 132 | validateB64(keyB64); 133 | validateB64(dataB64); 134 | final byte[] key = Base64.decodeBase64(keyB64); 135 | final byte[] data = Base64.decodeBase64(dataB64); 136 | 137 | return Base64.encodeBase64String(HmacUtils.hmacSha512(key, data)); 138 | } 139 | 140 | private void validateB64(String dataB64) { 141 | if (!Base64.isBase64(dataB64)) { 142 | throw new IllegalArgumentException("Expecting base64 encoded data. Use CryptoEncoding.base64Encode() against this string before attempting to hash it"); 143 | } 144 | } 145 | 146 | } 147 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/java/com/vmware/o11n/plugin/crypto/service/CryptoEncodingService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto.service; 6 | 7 | import java.io.UnsupportedEncodingException; 8 | import java.nio.charset.StandardCharsets; 9 | 10 | import org.apache.commons.codec.DecoderException; 11 | import org.apache.commons.codec.binary.Base32; 12 | import org.apache.commons.codec.binary.Base64; 13 | import org.apache.commons.codec.binary.Hex; 14 | import org.bouncycastle.util.Arrays; 15 | import org.slf4j.Logger; 16 | import org.slf4j.LoggerFactory; 17 | import org.springframework.stereotype.Component; 18 | 19 | import ch.dunes.model.fileattachment.MimeAttachment; 20 | 21 | @Component 22 | public class CryptoEncodingService { 23 | 24 | private final Logger log = LoggerFactory.getLogger(CryptoEncodingService.class); 25 | /** 26 | * 27 | * @param data 28 | * @return 29 | * @throws UnsupportedEncodingException 30 | */ 31 | public String base64Encode(String data) throws UnsupportedEncodingException { 32 | String encoded = new String(Base64.encodeBase64(data.getBytes(StandardCharsets.UTF_8))); 33 | return encoded; 34 | } 35 | /** 36 | * 37 | * @param data 38 | * @return 39 | * @throws UnsupportedEncodingException 40 | */ 41 | public String base64Encode(byte[] data) throws UnsupportedEncodingException { 42 | String encoded = new String(Base64.encodeBase64(data)); 43 | return encoded; 44 | } 45 | /** 46 | * 47 | * @param b64data 48 | * @return 49 | */ 50 | public String base64Decode(String b64data) { 51 | String decoded = new String(Base64.decodeBase64(b64data), StandardCharsets.UTF_8); 52 | return decoded; 53 | } 54 | 55 | /** 56 | * 57 | * @param b64data 58 | * @return 59 | */ 60 | public String base64toHex(String b64data) { 61 | String hexDataString = Hex.encodeHexString(Base64.decodeBase64(b64data)); 62 | return hexDataString; 63 | } 64 | 65 | /** 66 | * 67 | * @param hex 68 | * @return 69 | * @throws DecoderException 70 | */ 71 | public String hexToBase64(String hex) throws DecoderException { 72 | String b64data = new String(Base64.encodeBase64(Hex.decodeHex(hex.toCharArray()))); 73 | return b64data; 74 | } 75 | 76 | /** 77 | * 78 | * @param b64data 79 | * @param mimeType 80 | * @param fileName 81 | * @return 82 | */ 83 | public MimeAttachment base64ToMime(String b64data, String mimeType, String fileName ) { 84 | MimeAttachment mime = new MimeAttachment(); 85 | mime.setContent(Base64.decodeBase64(b64data)); 86 | mime.setMimeType(mimeType); 87 | mime.setName(fileName); 88 | return mime; 89 | } 90 | 91 | /** 92 | * 93 | * @param mime 94 | * @return Base64 encoded string 95 | */ 96 | public String mimeToBase64(MimeAttachment mime ) { 97 | byte[] mimeBytes = mime.getContent(); 98 | return Base64.encodeBase64String(mimeBytes); 99 | } 100 | 101 | /** 102 | * 103 | * @param b64data1 104 | * @param b64data2 105 | * @return 106 | */ 107 | public String binaryConcatBase64(String b64data1, String b64data2) { 108 | byte[] data1 = Base64.decodeBase64(b64data1); 109 | byte[] data2 = Base64.decodeBase64(b64data2); 110 | 111 | int totalSize = data1.length + data2.length; 112 | 113 | byte[] both = Arrays.copyOf(data1, totalSize); 114 | System.arraycopy(data2, 0, both, data1.length, data2.length); 115 | 116 | return Base64.encodeBase64String(both); 117 | } 118 | 119 | /** 120 | * 121 | * @param b64data 122 | * @return 123 | */ 124 | public int getLengthBase64(String b64data) { 125 | byte[] data = Base64.decodeBase64(b64data); 126 | return data.length; 127 | } 128 | 129 | /** 130 | * 131 | * 132 | * @param b64data 133 | * @param start 134 | * @param length 135 | * @return 136 | */ 137 | public String getSubsetBase64(String b64data, int start, int length) { 138 | byte[] data = Base64.decodeBase64(b64data); 139 | if ((start + length) > data.length) { 140 | throw new IndexOutOfBoundsException("Length from start exceeds bounds of data"); 141 | } 142 | byte[] subset = new byte[length]; 143 | System.arraycopy(data, start, subset, 0, length); 144 | return Base64.encodeBase64String(subset); 145 | } 146 | 147 | /** 148 | * 149 | * @param data 150 | * @return 151 | */ 152 | public String base32Encode(String data) { 153 | Base32 b32 = new Base32(); 154 | return b32.encodeAsString(data.getBytes(StandardCharsets.UTF_8)); 155 | } 156 | 157 | /** 158 | * 159 | * @param b32data 160 | * @return 161 | */ 162 | public String base32Decode(String b32data) { 163 | Base32 b32 = new Base32(); 164 | return new String(b32.decode(b32data), StandardCharsets.UTF_8); 165 | } 166 | 167 | /** 168 | * 169 | * @param b32data 170 | * @return 171 | */ 172 | public Number getLengthBase32(String b32data) { 173 | Base32 b32 = new Base32(); 174 | byte[] data = b32.decode(b32data); 175 | return data.length; 176 | } 177 | 178 | /** 179 | * 180 | * @param b32data 181 | * @return 182 | */ 183 | public String base32toBase64(String b32data) { 184 | //decode base32: 185 | Base32 b32 = new Base32(); 186 | byte[] data = b32.decode(b32data); 187 | //encode base64 188 | return Base64.encodeBase64String(data); 189 | } 190 | 191 | /** 192 | * 193 | * @param b64data 194 | * @return 195 | */ 196 | public String base64toBase32(String b64data) { 197 | //decode base64 198 | byte[] data = Base64.decodeBase64(b64data); 199 | //encode base32 200 | Base32 b32 = new Base32(); 201 | return b32.encodeAsString(data); 202 | } 203 | 204 | /** 205 | * 206 | * @param hexData 207 | * @return 208 | * @throws DecoderException 209 | */ 210 | public String hexToBase32(String hexData) throws DecoderException { 211 | //decode hex 212 | byte[] data = Hex.decodeHex(hexData.toCharArray()); 213 | //encode base32 214 | Base32 b32 = new Base32(); 215 | return b32.encodeAsString(data); 216 | } 217 | 218 | /** 219 | * 220 | * @param b32data 221 | * @return 222 | */ 223 | public String base32toHex(String b32data) { 224 | //decode base32 225 | Base32 b32 = new Base32(); 226 | byte[] data = b32.decode(b32data); 227 | //encode hex 228 | String hexDataString = Hex.encodeHexString(data); 229 | return hexDataString; 230 | } 231 | 232 | } 233 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/main/resources/com/vmware/o11n/plugin/crypto/pluginConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/java/com/vmware/o11n/plugin/crypto/CryptoCertificateManagerTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | public class CryptoCertificateManagerTest { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/java/com/vmware/o11n/plugin/crypto/CryptoCertificateServiceTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | 8 | import static org.junit.Assert.assertArrayEquals; 9 | import static org.junit.Assert.assertEquals; 10 | import static org.junit.Assert.assertTrue; 11 | 12 | import java.io.IOException; 13 | import java.net.URL; 14 | import java.security.KeyManagementException; 15 | import java.security.NoSuchAlgorithmException; 16 | import java.security.cert.Certificate; 17 | import java.security.cert.CertificateException; 18 | import java.security.cert.CertificateParsingException; 19 | import java.security.cert.X509Certificate; 20 | import java.security.spec.InvalidKeySpecException; 21 | import java.util.List; 22 | 23 | import javax.naming.InvalidNameException; 24 | 25 | import org.junit.Test; 26 | 27 | import com.vmware.o11n.plugin.crypto.model.CryptoUtil; 28 | import com.vmware.o11n.plugin.crypto.service.CryptoCertificateService; 29 | 30 | 31 | public class CryptoCertificateServiceTest { 32 | CryptoCertificateService service = new CryptoCertificateService(); 33 | 34 | @Test 35 | public void certificateFingerprintSha1() throws CertificateException { 36 | String thumb = service.getSha1Fingerprint(CryptoTestData.vcsa_01aCert); 37 | assertEquals("Certificate SHA1 Fingerprint", CryptoTestData.vcsa_01aCertSha1Thumb, thumb); 38 | } 39 | 40 | @Test 41 | public void certificateFingerprintSha256() throws CertificateException { 42 | String thumb = service.getSha256Fingerprint(CryptoTestData.vcsa_01aCert); 43 | assertEquals("Certificate SHA256 Fingerprint", CryptoTestData.vcsa_01aCertSha256Thumb, thumb); 44 | } 45 | 46 | @Test 47 | public void certificatePublicKey() throws CertificateException { 48 | Certificate cert = service.parseCertificate(CryptoTestData.vcsa_01aCert); 49 | String key = service.getPublicKeyPem(cert); 50 | assertEquals("cert public key", CryptoTestData.vcsa01aPublicKey, key); 51 | } 52 | 53 | @Test 54 | public void subjectAlternativeNames() throws CertificateException { 55 | Certificate cert = service.parseCertificate(CryptoTestData.vcsa_01aCert); 56 | List san = service.getSubjectAlternativeNames((X509Certificate)cert); 57 | assertArrayEquals("cert subject alternative names", CryptoTestData.vcsa_01aSAN, san.toArray(new String[san.size()])); 58 | } 59 | 60 | @Test 61 | public void remoteCertVmware() throws KeyManagementException, NoSuchAlgorithmException, IOException, CertificateParsingException, InvalidNameException, InvalidKeySpecException { 62 | URL vmwareUrl = new URL(CryptoTestData.vmwareUrl); 63 | List certs = service.getCertHttps(vmwareUrl); 64 | assertEquals("VMware.com cert count", 2, certs.size()); 65 | assertTrue("VMware.com cert SAN count greater than 0", 0 < service.getSubjectAlternativeNames(certs.get(0)).size()); 66 | assertEquals("Intermediary cert should have empty SAN", 0, service.getSubjectAlternativeNames(certs.get(1)).size()); 67 | assertEquals("VMware.com issued to CN", CryptoTestData.vmwareIssuedTo, service.parseDN(certs.get(0).getSubjectDN().getName()).get("CN")); 68 | assertTrue("vmware.com cert signed by intermediary", service.verifyCert(certs.get(0), certs.get(1).getPublicKey())); 69 | assertTrue("vmware.com cert signed by intermediary string key", service.verifyCert(certs.get(0), CryptoUtil.pemEncode(certs.get(1).getPublicKey()))); 70 | } 71 | 72 | @Test 73 | public void remoteCertGithub() throws KeyManagementException, NoSuchAlgorithmException, IOException, CertificateParsingException, InvalidNameException, InvalidKeySpecException { 74 | URL githubUrl = new URL(CryptoTestData.githubUrl); 75 | List certs = service.getCertHttps(githubUrl); 76 | assertEquals("github.com cert count", 2, certs.size()); 77 | assertTrue("github.com cert SAN count greater than 0", 0 < service.getSubjectAlternativeNames(certs.get(0)).size()); 78 | assertEquals("Intermediary cert should have empty SAN", 0, service.getSubjectAlternativeNames(certs.get(1)).size()); 79 | assertEquals("github.com issued to CN", CryptoTestData.githubIssuedTo, service.parseDN(certs.get(0).getSubjectDN().getName()).get("CN")); 80 | assertTrue("github.com cert signed by intermediary", service.verifyCert(certs.get(0), certs.get(1).getPublicKey())); 81 | assertTrue("github.com cert signed by intermediary string key", service.verifyCert(certs.get(0), CryptoUtil.pemEncode(certs.get(1).getPublicKey()))); 82 | } 83 | } -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/java/com/vmware/o11n/plugin/crypto/CryptoCertificateTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import static org.junit.Assert.assertEquals; 8 | 9 | import org.junit.Test; 10 | 11 | import com.vmware.o11n.plugin.crypto.model.CryptoCertificate; 12 | 13 | public class CryptoCertificateTest { 14 | 15 | private CryptoCertificate cert = new CryptoCertificate(CryptoTestData.vcsa_01aCert); 16 | 17 | @Test 18 | public void certificateFingerprintSha1() { 19 | String thumb = cert.getSha1Fingerprint(); 20 | assertEquals("Certificate SHA1 Fingerprint", CryptoTestData.vcsa_01aCertSha1Thumb, thumb); 21 | } 22 | 23 | @Test 24 | public void certificateFingerprintSha256() { 25 | String thumb = cert.getSha256Fingerprint(); 26 | assertEquals("Certificate SHA256 Fingerprint", CryptoTestData.vcsa_01aCertSha256Thumb, thumb); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/java/com/vmware/o11n/plugin/crypto/CryptoDigestServiceTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import static org.junit.Assert.assertEquals; 8 | 9 | import java.io.UnsupportedEncodingException; 10 | 11 | import org.apache.commons.codec.DecoderException; 12 | import org.junit.Test; 13 | 14 | import com.vmware.o11n.plugin.crypto.service.CryptoDigestService; 15 | import com.vmware.o11n.plugin.crypto.service.CryptoEncodingService; 16 | 17 | public class CryptoDigestServiceTest { 18 | 19 | CryptoDigestService service = new CryptoDigestService(); 20 | CryptoEncodingService encodingService = new CryptoEncodingService(); 21 | 22 | private final String dataToDigestB64 = "SGVsbG8gV29ybGQhIQ=="; // "Hello World!!" base64 encoded 23 | private final String dataToDigest = "Hello World!!"; 24 | 25 | //hmacSha1 sample data from AWS docs 26 | private final String stringToSign = "GET\n\n\nTue, 27 Mar 2007 19:36:42 +0000\n/johnsmith/photos/puppy.jpg"; 27 | private final String sampleKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; 28 | private final String expectedHmacSha1SigB64 = "bWq2s1WEIj+Ydj0vQ697zp+IXMU="; 29 | 30 | @Test 31 | public void md5() { 32 | final String expectedResult = "y/QTR7sZePbzIIeyzwHjUQ=="; 33 | assertEquals("MD5", expectedResult, service.md5(dataToDigest)); 34 | } 35 | 36 | @Test 37 | public void md5Base64() { 38 | final String expectedResult = "y/QTR7sZePbzIIeyzwHjUQ=="; 39 | assertEquals("MD5 Base64", expectedResult, service.md5Base64(dataToDigestB64)); 40 | } 41 | 42 | @Test 43 | public void sha1() { 44 | final String expectedResult = "pqfIFYs01VSVSkySGxRPgtddtoM="; 45 | assertEquals("SHA1", expectedResult, service.sha1(dataToDigest)); 46 | } 47 | @Test 48 | public void sha1Base64() { 49 | final String expectedResult = "pqfIFYs01VSVSkySGxRPgtddtoM="; 50 | assertEquals("SHA1 Base64", expectedResult, service.sha1Base64(dataToDigestB64)); 51 | } 52 | 53 | @Test 54 | public void sha256() { 55 | final String expectedResult = "CWwKcsMfmi1lEm2OikAaKrLy4h0KKCpv/mZCu+9l/9k="; 56 | assertEquals("SHA256", expectedResult, service.sha256(dataToDigest)); 57 | } 58 | @Test 59 | public void sha256Base64() { 60 | final String expectedResult = "CWwKcsMfmi1lEm2OikAaKrLy4h0KKCpv/mZCu+9l/9k="; 61 | assertEquals("SHA256 Base64", expectedResult, service.sha256Base64(dataToDigestB64)); 62 | } 63 | 64 | @Test 65 | public void sha384() { 66 | final String expectedResult = "3GmJaU4n2IldLCBoqu22RM0gLwvZA/tUNvYhwqrt7Jk1k0aQSy59ndKRWUFCY3GP"; 67 | assertEquals("SHA384", expectedResult, service.sha384(dataToDigest)); 68 | } 69 | @Test 70 | public void sha384Base64() { 71 | final String expectedResult = "3GmJaU4n2IldLCBoqu22RM0gLwvZA/tUNvYhwqrt7Jk1k0aQSy59ndKRWUFCY3GP"; 72 | assertEquals("SHA384 Base64", expectedResult, service.sha384Base64(dataToDigestB64)); 73 | } 74 | 75 | @Test 76 | public void sha512() { 77 | final String expectedResult = "ZKaYjsDsrL30Ds9QTnC5pfYXSomSyFbH7iLh4L4DqIkEEpBLnRekZ9A1Wf5XPDJCcWFdvPGR5M/CWbWgGju4JA=="; 78 | assertEquals("SHA512", expectedResult, service.sha512(dataToDigest)); 79 | } 80 | @Test 81 | public void sha512Base64() { 82 | final String expectedResult = "ZKaYjsDsrL30Ds9QTnC5pfYXSomSyFbH7iLh4L4DqIkEEpBLnRekZ9A1Wf5XPDJCcWFdvPGR5M/CWbWgGju4JA=="; 83 | assertEquals("SHA512 Base64", expectedResult, service.sha512Base64(dataToDigestB64)); 84 | } 85 | 86 | 87 | @Test 88 | public void hmacSha1AwsSample() throws UnsupportedEncodingException { 89 | final String keyB64 = encodingService.base64Encode(sampleKey); 90 | final String toSignB64 = encodingService.base64Encode(stringToSign); 91 | 92 | final String sigB64 = service.hmacSha1(keyB64, toSignB64); 93 | 94 | assertEquals("hmacSha1 AWS Sample", expectedHmacSha1SigB64, sigB64); 95 | } 96 | 97 | @Test 98 | public void hmacMd5() throws UnsupportedEncodingException, DecoderException { 99 | //test example data from https://en.wikipedia.org/wiki/Hash-based_message_authentication_code 100 | final String sigB64 = service.hmacMd5(encodingService.base64Encode("key"), encodingService.base64Encode("The quick brown fox jumps over the lazy dog")); 101 | assertEquals("hmacMd5", encodingService.hexToBase64("80070713463e7749b90c2dc24911e275"),sigB64); 102 | } 103 | 104 | @Test 105 | public void hmacSha1() throws DecoderException, UnsupportedEncodingException { 106 | //test example data from https://en.wikipedia.org/wiki/Hash-based_message_authentication_code 107 | final String sigB64 = service.hmacSha1(encodingService.base64Encode("key"), encodingService.base64Encode("The quick brown fox jumps over the lazy dog")); 108 | assertEquals("hmacSha1", encodingService.hexToBase64("de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9"),sigB64); 109 | } 110 | 111 | @Test 112 | public void hmacSha256() throws UnsupportedEncodingException, DecoderException { 113 | //test example data from https://en.wikipedia.org/wiki/Hash-based_message_authentication_code 114 | final String sigB64 = service.hmacSha256(encodingService.base64Encode("key"), encodingService.base64Encode("The quick brown fox jumps over the lazy dog")); 115 | assertEquals("hmacSha256", encodingService.hexToBase64("f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8"),sigB64); 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/java/com/vmware/o11n/plugin/crypto/CryptoEncodingServiceTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import static org.junit.Assert.assertEquals; 8 | 9 | import java.io.UnsupportedEncodingException; 10 | 11 | import org.apache.commons.codec.DecoderException; 12 | import org.junit.Test; 13 | 14 | import com.vmware.o11n.plugin.crypto.service.CryptoEncodingService; 15 | import com.vmware.o11n.plugin.crypto.service.CryptoEncryptionService; 16 | 17 | public class CryptoEncodingServiceTest { 18 | 19 | CryptoEncodingService service = new CryptoEncodingService(); 20 | CryptoEncryptionService encryptionService = new CryptoEncryptionService(); 21 | private final String staticString = "Hello World!!"; 22 | private final String staticStringB64 = "SGVsbG8gV29ybGQhIQ=="; 23 | private final String staticB32foobar = "MZXW6YTBOI======"; 24 | private final String staticB32fooba = "MZXW6YTB"; 25 | 26 | @Test 27 | public void staticB64EncodeTest() throws UnsupportedEncodingException { 28 | assertEquals("staticB64Encode", staticStringB64, service.base64Encode(staticString)); 29 | } 30 | @Test 31 | public void staticB64DecodeTest() { 32 | assertEquals("staticB64Decode", staticString, service.base64Decode(staticStringB64)); 33 | } 34 | @Test 35 | public void b64toHexAndBack() throws DecoderException { 36 | String hex = service.base64toHex(staticStringB64); 37 | assertEquals("b64toHexAndBack", staticStringB64, service.hexToBase64(hex)); 38 | } 39 | @Test 40 | public void getLengthBase64Test() { 41 | final int aByte = 1; //just one 42 | final int oddLength = 43; //random odd number 43 | final int evenLength = 84; //random even number 44 | 45 | String oddB64 = encryptionService.generateRandomBytes(oddLength); 46 | String evenB64 = encryptionService.generateRandomBytes(evenLength); 47 | String aByteB64 = encryptionService.generateRandomBytes(aByte); 48 | 49 | assertEquals("odd length", oddLength, service.getLengthBase64(oddB64)); 50 | assertEquals("even length", evenLength, service.getLengthBase64(evenB64)); 51 | assertEquals("one byte", aByte, service.getLengthBase64(aByteB64)); 52 | assertEquals("zero bytes", 0, service.getLengthBase64("")); 53 | } 54 | 55 | @Test 56 | public void staticB32EncodeTest() { 57 | assertEquals("staticBase32foobaEncode", staticB32fooba, service.base32Encode("fooba")); 58 | assertEquals("staticBase32foobarEncode", staticB32foobar, service.base32Encode("foobar")); 59 | } 60 | 61 | @Test 62 | public void staticB32DecodeTest() { 63 | assertEquals("staticBase32foobaDecode", "fooba", service.base32Decode(staticB32fooba)); 64 | assertEquals("staticBase32foobarDecode", "foobar", service.base32Decode(staticB32foobar)); 65 | } 66 | } -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/java/com/vmware/o11n/plugin/crypto/CryptoUtilTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 VMware, Inc. All Rights Reserved. 3 | * SPDX-License-Identifier: BSD-2-Clause 4 | */ 5 | package com.vmware.o11n.plugin.crypto; 6 | 7 | import static org.junit.Assert.assertEquals; 8 | 9 | import org.junit.Test; 10 | 11 | import com.vmware.o11n.plugin.crypto.model.CryptoUtil; 12 | 13 | public class CryptoUtilTest { 14 | 15 | @Test 16 | public void fixPem() { 17 | assertEquals("Fix Private PEM String one line",CryptoTestData.privatePem, CryptoUtil.fixPemString(CryptoTestData.privatePemOneLine)); 18 | assertEquals("Fix Private PEM String",CryptoTestData.privatePem, CryptoUtil.fixPemString(CryptoTestData.privatePem)); 19 | assertEquals("Fix Public PEM String one line",CryptoTestData.publicPem, CryptoUtil.fixPemString(CryptoTestData.publicPemOneLine)); 20 | assertEquals("Fix Public PEM String",CryptoTestData.publicPem, CryptoUtil.fixPemString(CryptoTestData.publicPem)); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /o11nplugin-crypto-core/src/test/resources/log4j.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/HowToSynchronize.txt: -------------------------------------------------------------------------------- 1 | To update orchestrator objects in src folder from the vCO database, use the import-package maven goal. 2 | 3 | Example: 4 | mvn o11n-package:import-package -DserverUrl=user:pass@localhost:8281 -------------------------------------------------------------------------------- /o11nplugin-crypto-package/archetype.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/o11nplugin-crypto-package/archetype.keystore -------------------------------------------------------------------------------- /o11nplugin-crypto-package/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 4.0.0 6 | o11nplugin-crypto-package 7 | package 8 | 9 | 10 | crypto 11 | com.vmware.o11n.plugin 12 | 1.1.0 13 | 14 | 15 | 16 | 18 | 20 | archetype.keystore 21 | password123 22 | 23 | 24 | 25 | 26 | vco 27 | ${repoUrl} 28 | 29 | 30 | 31 | 32 | vco-maven 33 | vCO Maven Plugin Repository 34 | ${repoUrl} 35 | 36 | 37 | 38 | 39 | 40 | 41 | com.vmware.o11n.mojo.pkg 42 | maven-o11n-package-plugin 43 | ${vco.version} 44 | true 45 | 46 | com.vmware.o11n.plugin.crypto 47 | 48 | ${keystoreLocation} 49 | ${keystorePassword} 50 | 51 | **/*.element_info.xml 52 | 53 | o11nplugin-crypto-package-${project.version} 54 | 55 | vef 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/META-INF/dunes-meta-inf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 127.0.0.1:8230 5 | Encryption Helper Plugin package 6 | com.vmware.o11n.plugin.crypto.crypto 7 | Crypto#1.0.0 8 | My Company 9 | 186056964020271505611351683903$rootElement.hashCode()000000000000 10 | 11 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacMd5.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | hmacMd5 7 | ScriptModule 8 | 5da93f01-414d-42ab-b71a-5d3cb2efc82b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacMd5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha1.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | hmacSha1 7 | ScriptModule 8 | 1c93a039-3a5d-4f11-8458-dc6202e1d61e 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha256.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | hmacSha256 7 | ScriptModule 8 | e063295a-0286-45d8-a3d6-327220d4716b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha256.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha384.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | hmacSha384 7 | ScriptModule 8 | d15c5d7b-cf73-43cf-b223-263d1e53dd62 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha384.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha512.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | hmacSha512 7 | ScriptModule 8 | a08d6cf0-0e1d-431d-a349-59d0cbb44060 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/hmacSha512.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/md5.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | md5 7 | ScriptModule 8 | 14dac3a8-74a2-4146-82d9-25f0f1766c36 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/md5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/md5Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | md5Base64 7 | ScriptModule 8 | be7644f7-7cad-4741-9fb4-fb0c0f524d71 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/md5Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha1.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha1 7 | ScriptModule 8 | 111b3b6e-07d7-493d-94d5-da06dd2b0dc7 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha1Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha1Base64 7 | ScriptModule 8 | 5ae83705-6d95-4ef5-beb0-ef10c6bbf732 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha1Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha256.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha256 7 | ScriptModule 8 | 49988923-8469-4974-bdd5-6e99e9f0d62d 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha256.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha256Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha256Base64 7 | ScriptModule 8 | df10ee40-a310-444c-8510-28f3211040f9 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha256Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha384.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha384 7 | ScriptModule 8 | 2f1a448d-f33a-4aa1-afdb-07f701e9e368 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha384.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha384Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha384Base64 7 | ScriptModule 8 | e4274aec-da8e-4e13-8515-2804b9806208 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha384Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha512.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha512 7 | ScriptModule 8 | 75aa9264-828e-46dc-9ca1-2c08cb3ee5a1 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha512.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha512Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.digest 6 | sha512Base64 7 | ScriptModule 8 | 210eb81a-014e-4f7b-9bf8-9c95d82499fc 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/digest/sha512Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64Decode.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | base64Decode 7 | ScriptModule 8 | 9136de61-c020-4b4b-8089-45884baa81c5 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64Decode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64Encode.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | base64Encode 7 | ScriptModule 8 | e89ee795-d3b2-483f-acbf-afcf5745456f 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64Encode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64toHex.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | base64toHex 7 | ScriptModule 8 | a3080abb-98eb-415a-b15e-0d78cd548f89 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64toHex.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64toMime.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | base64toMime 7 | ScriptModule 8 | 3ef470c3-0aba-4044-aa6f-2ecb19fcbf5b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/base64toMime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/binaryConcatBase64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | binaryConcatBase64 7 | ScriptModule 8 | f6b3e8b0-65d6-4589-85d8-eefdee687d85 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/binaryConcatBase64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/getLengthBase64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | getLengthBase64 7 | ScriptModule 8 | 1e21ecf4-e7bc-4752-8412-c4159bb919d2 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/getLengthBase64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/getSubsetBase64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | getSubsetBase64 7 | ScriptModule 8 | af717031-db06-4be8-b6cb-41d89a673173 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/getSubsetBase64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/hexToBase64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | hexToBase64 7 | ScriptModule 8 | 4a2e4175-39bf-4527-8dda-7126720cb9f3 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/hexToBase64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/mimeToBase64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encoding 6 | mimeToBase64 7 | ScriptModule 8 | 88407560-4a98-4a8b-afc4-36f39996da6b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encoding/mimeToBase64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/aesDecrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encryption 6 | aesDecrypt 7 | ScriptModule 8 | 853ffd39-8db0-43ec-9043-4bc4f91262c8 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/aesDecrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/aesEncrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encryption 6 | aesEncrypt 7 | ScriptModule 8 | ae60502c-5524-47d7-9f95-c97e3fc95fd1 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/aesEncrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/randomAesIV.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encryption 6 | randomAesIV 7 | ScriptModule 8 | 184ff8bb-703c-4ad5-b7b0-b0004609ee72 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/randomAesIV.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/randomDesIV.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encryption 6 | randomDesIV 7 | ScriptModule 8 | 5dd07602-dedb-425d-8c5a-b08d217e23c1 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/randomDesIV.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/tripleDesDecrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encryption 6 | tripleDesDecrypt 7 | ScriptModule 8 | 62a689ba-5486-4440-8927-ba4b7148319a 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/tripleDesDecrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/tripleDesEncrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.encryption 6 | tripleDesEncrypt 7 | ScriptModule 8 | d25a4fe6-92f0-45e0-8b30-3b05d511ffb6 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/encryption/tripleDesEncrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/createSignature.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.rsa 6 | createSignature 7 | ScriptModule 8 | ba35bbe0-7d71-4b63-8704-96b292891b7b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/createSignature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/decrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.rsa 6 | decrypt 7 | ScriptModule 8 | e3f44293-36fe-405b-be13-4050a4fed82c 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/decrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/encrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.rsa 6 | encrypt 7 | ScriptModule 8 | c6962a13-6e44-479b-92b1-00861f32cc89 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/encrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/verifySignature.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | com.vmware.o11n.plugin.crypto.rsa 6 | verifySignature 7 | ScriptModule 8 | a3ff13b2-2a50-414b-90d2-8db6cd4e65fc 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/ScriptModule/com/vmware/o11n/plugin/crypto/rsa/verifySignature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/MD5 Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | MD5 Base64 7 | Workflow 8 | 20425e99-5a00-4ce1-8c9b-1894e650341a 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/MD5 Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/MD5.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | MD5 7 | Workflow 8 | 8edfda3c-a801-4c02-8d79-e9cfbbf5a501 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/MD5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA1 Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA1 Base64 7 | Workflow 8 | dce81aff-b1d2-4793-bb34-be9467f9c7db 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA1 Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA1.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA1 7 | Workflow 8 | 1103d6dc-f6f6-47f5-81d6-948e63722483 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA256 Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA256 Base64 7 | Workflow 8 | 8c87af24-6f0d-4cac-9f79-456a93fd0f12 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA256 Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA256.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA256 7 | Workflow 8 | 13f432eb-6350-4003-8e50-9fdf65d4c58e 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA256.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA384 Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA384 Base64 7 | Workflow 8 | 167332cc-0a0a-4322-a5c0-a69ee1a1331c 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA384 Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA384.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA384 7 | Workflow 8 | 5c3ad4ce-d2d6-4dd2-accb-6db680bfca4c 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA384.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA512 Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA512 Base64 7 | Workflow 8 | cc0d9140-b4aa-447c-af93-926934b9cd1d 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA512 Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA512.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Digest 6 | SHA512 7 | Workflow 8 | 25ce0012-38e2-491e-9b5f-d3969d1cba8f 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Digest/SHA512.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 Decode.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Base64 Decode 7 | Workflow 8 | 0434206c-7151-4341-8c9c-d1baa35d723d 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 Decode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 Encode.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Base64 Encode 7 | Workflow 8 | 7cd90ae8-b095-4d14-af48-6ae10218b0a6 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 Encode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 to Hex.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Base64 to Hex 7 | Workflow 8 | cac4bade-498e-4671-ab42-5a57271e8850 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 to Hex.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 to MimeAttachment.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Base64 to MimeAttachment 7 | Workflow 8 | 7088a18d-8695-405a-9ee1-e54f792df27e 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Base64 to MimeAttachment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Binary Concat Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Binary Concat Base64 7 | Workflow 8 | c1d345cf-35fd-4048-88c5-030d36955390 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Binary Concat Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Get Length Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Get Length Base64 7 | Workflow 8 | 67d430ef-0283-44f3-94b2-50ce52bc73ce 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Get Length Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Get Subset Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Get Subset Base64 7 | Workflow 8 | c1387894-d58b-49e1-9375-080c91b19233 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Get Subset Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Hex to Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | Hex to Base64 7 | Workflow 8 | 23a68577-cc4a-43e8-bf2c-f951f60172cd 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/Hex to Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/MimeAttachment to Base64.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encoding 6 | MimeAttachment to Base64 7 | Workflow 8 | 70e9bd4a-2348-4674-9c72-97e5e27c2afb 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encoding/MimeAttachment to Base64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encryption/3DES Decrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encryption 6 | 3DES Decrypt 7 | Workflow 8 | 26a8f509-7e8d-49f1-ac6a-fe19f4189971 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encryption/3DES Encrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encryption 6 | 3DES Encrypt 7 | Workflow 8 | d2394e69-fefc-4992-889b-a5503411b208 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encryption/AES Decrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encryption 6 | AES Decrypt 7 | Workflow 8 | 3a1d3a09-3a05-408e-b75a-bd90ea67c3dd 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/Encryption/AES Encrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.Encryption 6 | AES Encrypt 7 | Workflow 8 | acec0ca4-db30-4921-b900-adcffa906d8b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC md5.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.HMAC 6 | HMAC md5 7 | Workflow 8 | 21f774a4-6bef-4f55-b6c2-ae33cf447ca3 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC md5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha1.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.HMAC 6 | HMAC sha1 7 | Workflow 8 | b5239e6c-dce0-4ab5-9298-73b736eacf63 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha256.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.HMAC 6 | HMAC sha256 7 | Workflow 8 | 9eab8d2a-00bf-45f3-b5db-c9e889c0fbfb 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha256.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha384.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.HMAC 6 | HMAC sha384 7 | Workflow 8 | c7de14bb-2500-4a85-ba35-3b6c40984c30 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha384.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha512.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.HMAC 6 | HMAC sha512 7 | Workflow 8 | 7d02321a-de22-43e6-ae64-adaf634a025b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/HMAC/HMAC sha512.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/Create RSA Signature.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.RSA 6 | Create RSA Signature 7 | Workflow 8 | 66e310ad-aac1-4e99-988f-384cdbe315b4 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/Create RSA Signature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/RSA Decrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.RSA 6 | RSA Decrypt 7 | Workflow 8 | d123c9eb-899b-4d0d-9d50-f55a1af9d14c 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/RSA Decrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/RSA Encrypt.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.RSA 6 | RSA Encrypt 7 | Workflow 8 | d5eb3782-3d8b-4b10-b0d2-cb1c3968426b 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/RSA Encrypt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/Verify RSA Signature.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Basics.RSA 6 | Verify RSA Signature 7 | Workflow 8 | 02635fef-3aa4-4ad4-bda5-e10cf3b84129 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Basics/RSA/Verify RSA Signature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Plain String Encryption/AES128 Decrypt plain string with plain string passphrase.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Plain String Encryption 6 | AES128 Decrypt plain string with plain string passphrase 7 | Workflow 8 | 8c458aea-6605-4548-b813-0e8e2b2aad3e 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Plain String Encryption/AES128 Encrypt plain string with plain string passphrase.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Plain String Encryption 6 | AES128 Encrypt plain string with plain string passphrase 7 | Workflow 8 | 89ce54de-10d2-46bd-a422-6880730f91ee 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Plain String Encryption/AES256 Decrypt plain string with plain string passphrase.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Plain String Encryption 6 | AES256 Decrypt plain string with plain string passphrase 7 | Workflow 8 | e0bde72c-3d2d-44fe-ab45-09e7bc15ce4a 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto-package/src/main/resources/Workflow/Library/Crypto/Plain String Encryption/AES256 Encrypt plain string with plain string passphrase.element_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exported from [server] 5 | Library.Crypto.Plain String Encryption 6 | AES256 Encrypt plain string with plain string passphrase 7 | Workflow 8 | 8688272e-0c3a-440d-8470-dc706e73e8e8 9 | 10 | -------------------------------------------------------------------------------- /o11nplugin-crypto/src/main/dar/resources/images/default-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/o11nplugin-crypto/src/main/dar/resources/images/default-16x16.png -------------------------------------------------------------------------------- /o11nplugin-crypto/src/main/dar/resources/images/default-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/o11nplugin-crypto/src/main/dar/resources/images/default-32x32.png -------------------------------------------------------------------------------- /o11nplugin-crypto/src/main/dar/resources/images/item-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/o11nplugin-crypto/src/main/dar/resources/images/item-16x16.png -------------------------------------------------------------------------------- /o11nplugin-crypto/src/main/vmoapp/VSO-INF/vsoapp.txt: -------------------------------------------------------------------------------- 1 | vRealize Orchestrator Encryption Plugin 1.0.0 2 | 3 | Copyright � 2017 VMware, Inc. All rights reserved 4 | 5 | The BSD-2 license (the �License�) set forth below applies to all parts of the VMware vRealize Orchestrator Encryption Plugin 1.0.0 6 | project. You may not use this file except in compliance with the License.� 7 | 8 | BSD-2 License 9 | 10 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 11 | � Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 12 | � Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 4.0.0 5 | com.vmware.o11n.plugin 6 | crypto 7 | pom 8 | 1.1.0 9 | 10 | 11 | UTF-8 12 | 7.1.0 13 | http://192.168.241.44:7100/vco-repo 14 | always 15 | 16 | 17 | 18 | 19 | added-by-archetype 20 | This repo was added by the archetype. There are better way to handle it 21 | ${repoUrl} 22 | 23 | 24 | 25 | 26 | 27 | added-by-archetype 28 | This repo was added by the archetype. There are better way to handle it 29 | ${repoUrl} 30 | 31 | 32 | 33 | 34 | 35 | 36 | com.vmware.o11n.plugin 37 | o11nplugin-crypto-core 38 | ${project.version} 39 | 40 | 41 | 42 | com.vmware.o11n.plugin 43 | o11nplugin-crypto-package 44 | ${project.version} 45 | package 46 | 47 | 48 | 49 | com.vmware.o11n 50 | o11n-provided-deps 51 | ${vco.version} 52 | provided 53 | pom 54 | 55 | 56 | 57 | com.vmware.o11n 58 | o11n-spring-tools 59 | ${vco.version} 60 | 61 | 62 | 63 | com.vmware.o11n 64 | o11n-sdkapi 65 | ${vco.version} 66 | provided 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | org.apache.maven.plugins 75 | maven-enforcer-plugin 76 | 1.3.1 77 | 78 | 79 | enforce-versions 80 | 81 | enforce 82 | 83 | 84 | 85 | 86 | 3.0.1 87 | 88 | 89 | 1.6 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | org.apache.maven.plugins 101 | maven-compiler-plugin 102 | 103 | 1.8 104 | 1.8 105 | 106 | 107 | 108 | 109 | 110 | 111 | o11nplugin-crypto-core 112 | o11nplugin-crypto-package 113 | o11nplugin-crypto 114 | 115 | 116 | -------------------------------------------------------------------------------- /vRO8_crypto_api_explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware-archive/o11n-plugin-crypto/ca366a464f09ba855daef4cc3af22a98452841f6/vRO8_crypto_api_explorer.png --------------------------------------------------------------------------------