Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Keyvault client library #2613

Merged
merged 205 commits into from
Nov 17, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
205 commits
Select commit Hold shift + click to select a range
29bbaeb
Initial commit
msftgits Feb 25, 2017
013d7f6
Initial commit
microsoftopensource Feb 25, 2017
b08f89d
Initial commit
microsoftopensource Feb 25, 2017
f93aa75
Key Vault generated code and POM files
pomortaz Jun 7, 2016
2c4080b
Updated the Key Vault client generated code
pomortaz Jun 15, 2016
afe9733
Updated Key Vault SDK based on none fluent AutoRest and costumized co…
pomortaz Jul 20, 2016
b1290c2
Removing lambda expression and listing by nextLink. The nextLink list…
pomortaz Jul 26, 2016
ce28f8c
Updating the API version, documentation, remove policy as mandatory p…
pomortaz Jul 27, 2016
8ea2abf
Working core, cryptography and extensions using a FutureAdapter.
herveyw-msft Jul 22, 2016
6831a3d
Update POM packages for core, cryptography, extensions
herveyw-msft Aug 2, 2016
97b7c86
Dropping implementation namespace, fix test bug and adding comments
pomortaz Aug 3, 2016
ff3276e
changing x5t to x509Thumbprint, adding key ID to secret and updating …
pomortaz Aug 3, 2016
88ac2e8
Use Guava Futures
herveyw-msft Aug 5, 2016
14f3690
Using ListenableFuture as async return type for Key Vault
pomortaz Aug 9, 2016
aae68df
Adding the MIT License Header
pomortaz Aug 9, 2016
21de003
Remove various Future subclasses and use futures.immediateFuture inst…
herveyw-msft Aug 10, 2016
07b9c53
Fixing projects name and dependency
pomortaz Aug 11, 2016
53fff02
Updating documentations
pomortaz Aug 11, 2016
87b0962
Fixing the javadoc error and formatting errors for key vault
pomortaz Aug 12, 2016
5b86f0d
Generated code returns observables
jianghaolu Aug 26, 2016
ac59273
Keyvault refactoring
jianghaolu Aug 27, 2016
72d6c5e
Fix checkstyle errors
jianghaolu Aug 27, 2016
8b00b65
Revert keyvault changes
jianghaolu Aug 29, 2016
17deec7
Fixed to the key vault certificate feature and tests.
pomortaz Aug 19, 2016
1a40bdb
Java Cryptography Test Case update
herveyw-msft Aug 15, 2016
f8c5583
RS256 Signature support.
herveyw-msft Aug 19, 2016
83a3fc6
Adding managed field for certifciates and use base class of attribute…
pomortaz Aug 22, 2016
4612ba6
Crypto test cases for excess key material support to match .NET
herveyw-msft Aug 22, 2016
87af588
Refactoring JSON web key to KV webkey project
pomortaz Aug 23, 2016
2af489b
License, documentation and byte array handling update.
herveyw-msft Aug 24, 2016
0240491
Fix RSA256 signature
herveyw-msft Aug 24, 2016
d47971b
Minor signature code cleanup
herveyw-msft Aug 29, 2016
de395a3
Adapting the observer model for Key Vault wrapped client, fixed build…
pomortaz Sep 2, 2016
7125cbd
fix styling errors and addressed feedback.
pomortaz Sep 2, 2016
c335c05
Remove .getBody for ListanableFuture to accomodate the recent breakin…
pomortaz Sep 9, 2016
db09121
key vault cryptography refactoring. Removing additional methods from …
pomortaz Sep 12, 2016
28ed4e8
Removing the ServiceResponse<> off return type and remove with*() for…
pomortaz Sep 14, 2016
1f90d93
Update additional pom.xml for annotation build break
alvadb Sep 20, 2016
c988937
Additional pom.xml updates for build break fix.
alvadb Sep 20, 2016
1c27b8e
Update AesCbcHmac test vectors and add more tests from RFC7518
herveyw-msft Sep 19, 2016
7642127
Removed annotation dependency from keyvault libs
alvadb Sep 22, 2016
bd5555e
Adding more functionalities to JsonWebKey: AES key conversions, verif…
pomortaz Sep 15, 2016
8740e2c
Change IssuerReference to IssuerParameters and adding CertificateType.
pomortaz Sep 23, 2016
20cb23b
Remove runtimes from SDK
jianghaolu Sep 29, 2016
2819ac3
[release] Bump up version to 1.0.0-beta3
jianghaolu Sep 29, 2016
deea0b4
[release] Prepare for next development iteration (1.0.0-beta4-SNAPSHOT)
jianghaolu Sep 28, 2016
168aaac
Cryptography package updates
herveyw-msft Oct 6, 2016
a6571f7
Keyvault cryptography beta3.1 release
jianghaolu Nov 10, 2016
32f2d48
Prepare for next iteration of development
jianghaolu Nov 10, 2016
5621053
Updating the api-version and adding innererror
pomortaz Nov 10, 2016
27ecb0d
[release] Prepare for beta5 development iteration
jianghaolu Dec 27, 2016
0e03b6a
[release] Prepare for beta4.1 release
jianghaolu Jan 7, 2017
78a51c7
[release] Change versions back to development iteration
jianghaolu Jan 7, 2017
ddadd3d
[release] Prepare for beta6 development iteration
anuchandy Feb 7, 2017
c574b95
Updating Key Vault Java SDK to use the latest Runtime Client.
pomortaz Feb 6, 2017
4adc1ac
[#1322] Upgrade guava to 20.0
jianghaolu Feb 14, 2017
bb27d8a
Rename ServiceCall to ServiceFuture
jianghaolu Feb 15, 2017
5094701
Add pom files
jianghaolu Feb 27, 2017
f86da5e
Add simple travis config
jianghaolu Feb 27, 2017
8afe8fe
Merge pull request #1 from jianghaolu/kv
pomortaz Feb 27, 2017
6acb134
Remove azure-client-authentication as dependency
jianghaolu Feb 27, 2017
67eff8a
Merge pull request #2 from jianghaolu/kv
pomortaz Feb 27, 2017
381abc4
Fix scm connection in pom.xml
jianghaolu Feb 27, 2017
07040e5
Merge pull request #3 from jianghaolu/patch-1
pomortaz Feb 27, 2017
bb950b2
[maven-release-plugin] prepare release v1.0.0
azuresdkci Feb 27, 2017
c2f3f75
[maven-release-plugin] prepare for next development iteration
azuresdkci Feb 27, 2017
1dcad79
Update pom.xml
pomortaz Feb 28, 2017
184b33a
Update pom.xml
pomortaz Feb 28, 2017
4bc08bb
Refactored KeyVaultClient to accomodate autogenerated KeyVaultClientB…
tiffanyachen Sep 22, 2017
a95a75c
reshuffled class inheritance to have models inherit from custom classes
tiffanyachen Sep 19, 2017
0edb0b1
Merge pull request #10 from tiffanyachen/refactoring-changes
tiffanyachen Sep 25, 2017
ab1f38d
Updating .travis to accomodate CI
tiffanyachen Oct 3, 2017
066c1a1
Updating keyvault-extensions to work with travis CI
tiffanyachen Oct 26, 2017
345a277
updated .gitignore
tiffanyachen Oct 27, 2017
9a33635
Changes to fix PR
tiffanyachen Oct 28, 2017
acce07b
removed unecessary gitignores
tiffanyachen Oct 31, 2017
6113d2b
Merge pull request #12 from tiffanyachen/record-test
schaabs Oct 31, 2017
a887614
Merge pull request #13 from Azure/dev
schaabs Nov 1, 2017
fceb8cd
Added script to preserve custom code upon regenerating models from au…
tiffanyachen Sep 22, 2017
5d4097a
Updated with autorest code sans Storage and Sas models
tiffanyachen Nov 2, 2017
64a57e2
Added a 4096 constant
tiffanyachen Nov 9, 2017
73eb85a
Updated tests to incorporate new features and soft-delete
tiffanyachen Nov 21, 2017
e7adeec
Added check to not have thread sleep during playback
tiffanyachen Nov 21, 2017
d8ba211
Merge pull request #15 from tiffanyachen/dev-4k
RandalliLama Dec 14, 2017
d9b475d
Merge pull request #14 from tiffanyachen/dev-new-features
tiffanyachen Dec 19, 2017
188e2fd
Fix all JavaDoc reported issues.
JonathanGiles Jan 19, 2018
9c1cafb
Merge pull request #19 from JonathanGiles/javadoc-fixes
schaabs Jan 22, 2018
7c1b4d0
Updated pom to ignore session-records on clean
tiffanyachen Jan 24, 2018
b2e99e4
Merge pull request #20 from tiffanyachen/pomUpdate
tiffanyachen Jan 25, 2018
1437854
Updated versioning for poms
tiffanyachen Jan 31, 2018
ca8658e
Updated versioning qualifiers to match convention
tiffanyachen Jan 31, 2018
03b577b
Merge pull request #21 from tiffanyachen/dev-pom
tiffanyachen Feb 1, 2018
d3de8ff
Updated readme
tiffanyachen Feb 27, 2018
60b99b6
updated following review
tiffanyachen Feb 27, 2018
4f274b3
Updated to add building/testing details.
tiffanyachen Mar 5, 2018
2d6780e
Merge pull request #23 from Azure/tiffanyachen-patch-1
tiffanyachen Mar 5, 2018
6cf3182
Updated with preview swnagger and re-recorded tests
tiffanyachen Mar 8, 2018
7a0ea84
Fix mvn clean package
RandalliLama Mar 9, 2018
eafad9f
Update ADAL version
RandalliLama Mar 9, 2018
6bda41f
Add PS* JsonWebKeySignatureAlg constants
RandalliLama Mar 9, 2018
c038365
updated and rerecorded tests for azure-keyvault-extensions
tiffanyachen Mar 9, 2018
bf3f736
Merge pull request #26 from Azure/rrandall/quick-fixes
tiffanyachen Mar 9, 2018
3b2ae0c
Update README.md
RandalliLama Mar 12, 2018
4ac1543
Updated versioning for pom
tiffanyachen Mar 13, 2018
ea80c2b
Merge pull request #25 from tiffanyachen/new-spec
tiffanyachen Mar 13, 2018
9230218
Merge pull request #27 from Azure/rrandall/readme-update
tiffanyachen Mar 13, 2018
86f9675
Update readme with unlimited crypto install
Mar 15, 2018
1e1c4d1
Minor updates to RsaKey to make it more similar to EC Key changes
tiffanyachen Mar 23, 2018
641ff5d
Updated versioning for parent and azure-keyvault
tiffanyachen Mar 23, 2018
6eaf61a
Updates to JsonWebKey to accomodate EC keys
tiffanyachen Mar 22, 2018
01a967c
Added ECKeys implementation
tiffanyachen Mar 23, 2018
f712f4c
Updated with 3-21 keyvault previe-swagger
tiffanyachen Mar 23, 2018
3c9f5c8
Merge pull request #33 from tiffanyachen/march-data-update
tiffanyachen Mar 23, 2018
62888dc
Got ride of azure-keyvault JsonWebKeyCurveName dependency
tiffanyachen Mar 23, 2018
602fb0f
Removed bouncycastle dependency from jwk
tiffanyachen Mar 23, 2018
52b4f10
Updates to ECKey following changes for JWKCurveName and JWK bouncycas…
tiffanyachen Mar 23, 2018
ebb2844
changed to SunEC default provider
tiffanyachen Mar 23, 2018
3b2fdd5
Disallowing null kid for EcKey
tiffanyachen Mar 23, 2018
caec496
Added kid check back in
tiffanyachen Mar 23, 2018
a39e1b2
fixing versioning
tiffanyachen Mar 23, 2018
14e0cd0
Merge branch 'dev' into jsonwebkeyupdate
tiffanyachen Mar 23, 2018
11900a3
Merge pull request #32 from tiffanyachen/rsakeyupdate
tiffanyachen Mar 24, 2018
95dafd9
Merge pull request #30 from tiffanyachen/jsonwebkeyupdate
tiffanyachen Mar 24, 2018
7412f4b
Merge pull request #29 from Azure/rrandall/readme-crypto-update
tiffanyachen Mar 24, 2018
8bf504d
Fixed javadoc errors
tiffanyachen Mar 24, 2018
344828d
modifications to exception throwing
tiffanyachen Mar 25, 2018
eb41400
Merge pull request #34 from tiffanyachen/dev
schaabs Mar 26, 2018
6947110
script to automatically make necessary changes to generated code; reg…
daviddesberg Mar 28, 2018
50523a8
update regen script
daviddesberg Mar 28, 2018
d78dcd5
remove old post processing script
daviddesberg Mar 28, 2018
2a71a76
Merge pull request #35 from Lusitanian/feature/cert_transparency_fix
daviddesberg Mar 28, 2018
e49ec46
update readme to reference newest version
daviddesberg Mar 29, 2018
f64bf28
update other package versions
daviddesberg Mar 29, 2018
6f0f2c2
Merge pull request #36 from Azure/feature/update_readme
daviddesberg Mar 29, 2018
4db8e32
add docs for regeneration script
daviddesberg Apr 3, 2018
aba7004
Merge pull request #37 from Lusitanian/feature/regen_readme
daviddesberg Apr 3, 2018
f0f3ac0
Implement message security
Apr 5, 2018
abaaaa1
Add missing dependency
Apr 5, 2018
35b928d
Update expected signature in crypto tests + fix tabs
Apr 5, 2018
72bf249
Add EKV unit tests
Apr 7, 2018
767bee6
Use local version of cryptography jar
Apr 9, 2018
ad736f4
Fix jar name
Apr 9, 2018
c4bc214
Fix jar path
Apr 9, 2018
499cf3d
Fix review comments
Apr 12, 2018
b953faa
Update test with encrypted key
Apr 12, 2018
96a4923
Update comments & modifiers
logachev Apr 25, 2018
a5de903
Remove unnecessary tests
Apr 30, 2018
5afe15a
Merge branch 'kiril/messagesecurity' of github.com:logachev/azure-key…
Apr 30, 2018
d627777
Update todo comment
Apr 30, 2018
ad9ab8d
Fix test to rest KVClient before each test
May 1, 2018
9682dcd
Fix tests
May 1, 2018
6200f3e
Update records
May 2, 2018
f555c53
Update records
May 2, 2018
ac1aa47
Merge pull request #38 from logachev/kiril/messagesecurity
schaabs May 3, 2018
2fdd623
Ensure message protection works for keys create\delete
May 3, 2018
d654a3f
Merge pull request #40 from logachev/kiril/messagesecurity
schaabs May 3, 2018
4773baf
Updated EC key algos to take in hashed digests (secp256k1 not working…
tiffanyachen May 9, 2018
1872c75
Neglected to add ecdsa256
tiffanyachen May 9, 2018
db8ec50
Updated exception for test
tiffanyachen May 9, 2018
fdf1928
got rid of print statements
tiffanyachen May 9, 2018
1049626
Updated error message
tiffanyachen May 10, 2018
cd98607
Merge pull request #42 from tiffanyachen/dev
tiffanyachen May 10, 2018
ae885a9
Fixing JavaDoc issues
JonathanGiles May 14, 2018
9be2f51
Added msak tests
tiffanyachen Jun 1, 2018
ec38edb
Merge pull request #43 from JonathanGiles/dev
tiffanyachen Jun 1, 2018
c28caca
Updated pom.xml
tiffanyachen Jun 4, 2018
516df2f
Updating dependency versioning
tiffanyachen Jun 4, 2018
0661add
Merge pull request #44 from tiffanyachen/dev
tiffanyachen Jun 5, 2018
2c9fbef
Updated to 7.0
tiffanyachen Jun 25, 2018
8f5686a
Updated Es256K name
tiffanyachen Jun 25, 2018
d4982b6
Updated P256k
tiffanyachen Jun 26, 2018
95af068
Updated formatting, etc., to comply with mvn:checkstyle
tiffanyachen Jun 27, 2018
275502c
Created history.md
tiffanyachen Jun 28, 2018
1a93917
Updated Readme
tiffanyachen Jun 28, 2018
d5068eb
Moved scopes for some dependencies to test only
tiffanyachen Jun 28, 2018
bc75f2a
Merge branch 'dev' of https://github.com/tiffanyachen/azure-keyvault-…
tiffanyachen Jun 28, 2018
0f3e495
Merge pull request #47 from tiffanyachen/dev
tiffanyachen Jun 28, 2018
2b203a5
Merge pull request #48 from Azure/dev
tiffanyachen Jun 28, 2018
1474f36
Updated pom to point to remote dependencies
tiffanyachen Jul 2, 2018
814fec0
Merge pull request #49 from tiffanyachen/master
tiffanyachen Jul 2, 2018
1c0e3ac
Added section for links to previous versions
bhicks2 Aug 8, 2018
786af9d
Added a sample repo section
bhicks2 Aug 8, 2018
fa1e4e1
Added build badge
bhicks2 Aug 8, 2018
793711e
Added more visible documentation link
bhicks2 Aug 8, 2018
dfd7efd
Added alpha and beta releases to previous versions
bhicks2 Aug 8, 2018
47f4d10
Fixed typo in markdown link code
bhicks2 Aug 8, 2018
56d6445
Samples link directly to GitHub repos
bhicks2 Aug 9, 2018
023ca04
Undid minor irrelevant linebreak.
bhicks2 Aug 14, 2018
b96a7a4
Removed extranious change (due to whitespace)
bhicks2 Aug 14, 2018
dca5ef3
Fixed minor dependency issue and resolved broken test
brihicks-653 Aug 15, 2018
27dbc88
Merge pull request #51 from bhicks2/readme_updates
bhicks2 Aug 20, 2018
2cdc500
Fixed a bug that prevented tests from passing when using azure-keyvau…
brihicks-653 Aug 22, 2018
11bb2d1
version updates
brihicks-653 Aug 22, 2018
275270b
More versioning changes
brihicks-653 Aug 23, 2018
9000250
Fixed parent version in extensions
brihicks-653 Aug 23, 2018
4750369
Merge pull request #52 from bhicks2/test_fix
bhicks2 Aug 23, 2018
5dd4609
Pom changes (#53)
bhicks2 Sep 10, 2018
79253c4
Merge branch 'master' of https://github.com/Azure/azure-keyvault-java…
schaabs Sep 13, 2018
f22cc28
Commit for 1.1.1
brihicks-653 Sep 14, 2018
d12b53a
Merge pull request #56 from bhicks2/dev
schaabs Sep 14, 2018
bdee224
Merge pull request #57 from Azure/dev
schaabs Sep 14, 2018
02233df
Merging Dev to Master (#69)
schaabs Nov 2, 2018
c40aa2b
Merge for 1.1.2 (#73)
bhicks2 Nov 2, 2018
a0a8f81
Update README.md (#74)
bhicks2 Nov 2, 2018
87cefe0
Add 'keyvault/data-plane/' from commit 'a0a8f81e25357df5bef6bc3f33350…
lenala Nov 17, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions keyvault/data-plane/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
*.class

#External libs
extlib/

# Auth files
*.auth
*.azureauth

# Local checkstyle
*.checkstyle

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# Azure Tooling #
node_modules
packages

# Eclipse #
*.pydevproject
.project
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
bin/

# Other Tooling #
.classpath
.project
**/target/classes/**
**/target/generated-sources/**
**/target/generate-test-sources/**
**/target/maven-status/**
**/target/test-classes/com/**
**/target/surefire-reports/**
**/target/maven-archiver/**
!**/target/test-classes/session-records/**
.idea
*.iml

# Mac OS #
.DS_Store
.DS_Store?

# Windows #
Thumbs.db

# reduced pom files should not be included
dependency-reduced-pom.xml
19 changes: 19 additions & 0 deletions keyvault/data-plane/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
language: java
sudo: required
jdk:
- oraclejdk8
env:
global:
-AZURE_TEST_MODE=Playback
-'keyvault.vaulturi'=https://tifchen-keyvault-fancy.vault.azure.net
-'keyvault.vaulturi.alt'=https://tifchen-keyvault-fancier.vault.azure.net
script:
- LOG_PARAMS='-Dorg.slf4j.simpleLogger.defaultLogLevel=error -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn --batch-mode' ;
- mvn jetty:run & echo "==> Starting a Jetty server on the background ==" ;
- mvn install -DskipTests=true $LOG_PARAMS || travis_terminate 1 ;

- echo '==> Starting mvn test ===' ;
- mvn test -Dsurefire.rerunFailingTestsCount=3 $LOG_PARAMS -Dparallel=classes -DthreadCount=2 -DforkCount=1C || travis_terminate 1 ;



21 changes: 21 additions & 0 deletions keyvault/data-plane/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) Microsoft Corporation. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE
129 changes: 129 additions & 0 deletions keyvault/data-plane/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
[![Build Status](https://travis-ci.org/Azure/azure-keyvault-java.svg?branch=dev)](https://travis-ci.org/Azure/azure-keyvault-java)

# Microsoft Azure Key Vault SDK for Java

This is the Microsoft Azure Key Vault client library which allows for the consumption of Key Vault services. Azure Key Vault helps safeguard cryptographic keys and secrets used by cloud applications and services. By using Key Vault, you can encrypt keys and secrets (such as authentication keys, storage account keys, data encryption keys, .PFX files, and passwords) using keys protected by hardware security modules (HSMs). For added assurance, you can import or generate keys in HSMs. If you choose to do this, Microsoft processes your keys in FIPS 140-2 Level 2 validated HSMs (hardware and firmware).
Key Vault streamlines the key management process and enables you to maintain control of keys that access and encrypt your data. Developers can create keys for development and testing in minutes, and then seamlessly migrate them to production keys. Security administrators can grant (and revoke) permission to keys, as needed.
For more information refer to [What is Key Vault?](https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis) or [Getting Started](https://docs.microsoft.com/en-us/azure/key-vault/key-vault-get-started).

Documentation for this SDK can be found at [Azure Key Vault Java Documentation](https://docs.microsoft.com/en-us/java/api/overview/azure/keyvault)

## Sample code
You can find sample code that illustrates key vault usage scenarios [here](https://azure.microsoft.com/en-us/resources/samples/?sort=0&service=key-vault&platform=java).

<table>
<tr>
<th>Category</th>
<th>Samples</th>
</tr>
<tr>
<td>Authentication</td>
<td>
<ul>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-authentication">Authenticating with a service principal and a self-signed certificate</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-authentication">Authenticating with ADAL through a callback</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-certificate-authentication/">Authenticating with a .pfx file</a>
</li>
</ul>
</td>
</tr>
<tr>
<td>Vault Management</td>
<td>
<ul>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-certificate-authentication/">Creating a vault</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-network-acl/">Creating a vault with access restrictions based on IP and Azure Virtual Networks</a>
</li>
</ul>
</td>
</tr>
<tr>
<td>Secret Management</td>
<td>
<ul>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-certificate-authentication
">Putting keys and secrets into a vault</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-certificate-authentication/">Signing</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-certificate-authentication/">Verification of signature with both Java Security and Azure Key Vault REST</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-certificate-authentication/">Injecting a .pfx file into a VM at deployment using a template</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-recovery/">Using the soft delete and backup restore features</a>
</li>
<li>
<a href="https://github.com/Azure-Samples/key-vault-java-recovery/">Managing storage accounts</a>
</li>
</ul>
</td>
</tr>
</table>

For more information on using Java with Azure, see [here](https://azure.microsoft.com/en-us/develop/java/)

## Download

To get the binaries of this library as distributed by Microsoft, ready for use within your project, you can use Maven. Add the following fragment to you POM's dependencies.

```xml
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-complete</artifactId>
<version>1.1.2</version>
</dependency>
```

## Pre-requisites
- A Java Developer Kit (JDK), v 1.7 or later
- Maven

## Building and Testing

Clone the repo, then run `mvn compile` from the root directory.

To run the recorded tests:
1. If you have not already, you need to install the [Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) package.
2. run `mvn jetty:run` to start a jetty server. This starts a service that will block the terminal so you will likely want to open a second terminal to run the actual tests.
3. In your second terminal run `mvn test`.

## Contributing

If you would like to become an active contributor to this project please follow the instructions provided in [Microsoft Azure Projects Contribution Guidelines](http://azure.github.io/guidelines.html).

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

# Previous Versions

| Version | Comments |
| :-------: | :-------- |
| [1.1.1](https://github.com/Azure/azure-keyvault-java/tree/1.1.1) | Version 1.1.1 release |
| [1.1](https://github.com/Azure/azure-keyvault-java/tree/1.1) | Version 1.1 release |
| [1.1-beta-1](https://github.com/Azure/azure-keyvault-java/tree/1.1-beta-1) | Version 1.1.0 **beta** release |
| [1.1-alpha-2](https://github.com/Azure/azure-keyvault-java/tree/v1.1-alpha-2) | Version 1.1.0 **alpha** release |
| [1.0.0](https://github.com/Azure/azure-keyvault-java/tree/v1.0.0) | Version 1.0.0 release |

# More information
* [Azure Key Vault Java Documentation](https://docs.microsoft.com/en-us/java/api/overview/azure/keyvault)
* [What is Key Vault?](https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis)
* [Get started with Azure Key Vault](https://docs.microsoft.com/en-us/azure/key-vault/key-vault-get-started)
* [Azure Key Vault General Documentation](https://docs.microsoft.com/en-us/azure/key-vault/)
* [Azure Key Vault REST API Reference](https://docs.microsoft.com/en-us/rest/api/keyvault/)
* [Azure Active Directory Documenation](https://docs.microsoft.com/en-us/azure/active-directory/)
19 changes: 19 additions & 0 deletions keyvault/data-plane/REGENERATING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Regenerating SDK

The code in the azure-keyvault package is generated via AutoREST. After code generation, there are currently several manual modifications that need to be made for the build to succeed. In the root of the azure-keyvault-java repo, there is a Python script called "regenerate_and_fix_sdk.py" which will automatically regenerate the code and apply the necessary fixes. To regenerate the code using this script:

- Install AutoREST: https://github.com/Azure/autorest/blob/master/docs/installing-autorest.md
- Open the script in your favorite editor and change "swagger_source_branch" to contain the branch of the Azure REST spec API repo that you'd like the API spec to be sourced from – likely either "master" or "keyvault_preview"
- If there is a tag you'd like to pass to AutoREST – set the "autorest_tag" branch accordingly.
- Using Python 3.6+, run the script from the root of the checked out repository. Verify that no errors appear, and then build/test the SDK.



The changes made by the script post-regeneration are as follows:

* The generated webkey models will be removed


* Any generated model class which has a corresponding custom class in the "models/custom" folder will be changed to inherit from the custom class.
* Any class which utilizes webkey models will have the correct imports from the azure-keyvault-webkey package added
* AutoREST occasionally generates broken parameter declarations in the Javadoc comments - these are repaired.
72 changes: 72 additions & 0 deletions keyvault/data-plane/azure-keyvault-complete/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under
the MIT License. See License.txt in the project root for license information. -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-parent</artifactId>
<version>1.1.2</version>
<relativePath>../pom.xml</relativePath>
</parent>

<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-complete</artifactId>
<version>1.1.2</version>
<packaging>pom</packaging>

<licenses>
<license>
<name>The MIT License (MIT)</name>
<url>http://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>

<name>Microsoft Azure Key Vault SDK Complete</name>
<description>This encapsulate all modules of the Microsoft Azure Key Vault SDK.</description>
<url>https://github.com/Azure/azure-keyvault-java</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<legal><![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
</properties>

<scm>
<url>scm:git:https://github.com/Azure/azure-keyvault-java</url>
<connection>scm:git:git@github.com:Azure/azure-keyvault-java.git</connection>
<tag>HEAD</tag>
</scm>

<developers>
<developer>
<id>microsoft</id>
<name>Microsoft</name>
</developer>
</developers>

<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-core</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-webkey</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-extensions</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-cryptography</artifactId>
</dependency>
</dependencies>

</project>
Loading