{"id":"ab0775d0-490a-4a82-851e-5d6b0815efd4","shortId":"Fs2BxM","kind":"skill","title":"azure-security-keyvault-keys-java","tagline":"Azure Key Vault Keys Java SDK for cryptographic key management. Use when creating, managing, or using RSA/EC keys, performing encrypt/decrypt/sign/verify operations, or working with HSM-backed keys.","description":"# Azure Key Vault Keys (Java)\n\nManage cryptographic keys and perform cryptographic operations in Azure Key Vault and Managed HSM.\n\n## Installation\n\n```xml\n<dependency>\n    <groupId>com.azure</groupId>\n    <artifactId>azure-security-keyvault-keys</artifactId>\n    <version>4.9.0</version>\n</dependency>\n```\n\n## Client Creation\n\n```java\nimport com.azure.security.keyvault.keys.KeyClient;\nimport com.azure.security.keyvault.keys.KeyClientBuilder;\nimport com.azure.security.keyvault.keys.cryptography.CryptographyClient;\nimport com.azure.security.keyvault.keys.cryptography.CryptographyClientBuilder;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\n// Key management client\nKeyClient keyClient = new KeyClientBuilder()\n    .vaultUrl(\"https://<vault-name>.vault.azure.net\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n\n// Async client\nKeyAsyncClient keyAsyncClient = new KeyClientBuilder()\n    .vaultUrl(\"https://<vault-name>.vault.azure.net\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildAsyncClient();\n\n// Cryptography client (for encrypt/decrypt/sign/verify)\nCryptographyClient cryptoClient = new CryptographyClientBuilder()\n    .keyIdentifier(\"https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n```\n\n## Key Types\n\n| Type | Description |\n|------|-------------|\n| `RSA` | RSA key (2048, 3072, 4096 bits) |\n| `RSA_HSM` | RSA key in HSM |\n| `EC` | Elliptic Curve key |\n| `EC_HSM` | Elliptic Curve key in HSM |\n| `OCT` | Symmetric key (Managed HSM only) |\n| `OCT_HSM` | Symmetric key in HSM |\n\n## Create Keys\n\n### Create RSA Key\n\n```java\nimport com.azure.security.keyvault.keys.models.*;\n\n// Simple RSA key\nKeyVaultKey rsaKey = keyClient.createRsaKey(new CreateRsaKeyOptions(\"my-rsa-key\")\n    .setKeySize(2048));\n\nSystem.out.println(\"Key name: \" + rsaKey.getName());\nSystem.out.println(\"Key ID: \" + rsaKey.getId());\nSystem.out.println(\"Key type: \" + rsaKey.getKeyType());\n\n// RSA key with options\nKeyVaultKey rsaKeyWithOptions = keyClient.createRsaKey(new CreateRsaKeyOptions(\"my-rsa-key-2\")\n    .setKeySize(4096)\n    .setExpiresOn(OffsetDateTime.now().plusYears(1))\n    .setNotBefore(OffsetDateTime.now())\n    .setEnabled(true)\n    .setKeyOperations(KeyOperation.ENCRYPT, KeyOperation.DECRYPT, \n                       KeyOperation.WRAP_KEY, KeyOperation.UNWRAP_KEY)\n    .setTags(Map.of(\"environment\", \"production\")));\n\n// HSM-backed RSA key\nKeyVaultKey hsmKey = keyClient.createRsaKey(new CreateRsaKeyOptions(\"my-hsm-key\")\n    .setKeySize(2048)\n    .setHardwareProtected(true));\n```\n\n### Create EC Key\n\n```java\n// EC key with P-256 curve\nKeyVaultKey ecKey = keyClient.createEcKey(new CreateEcKeyOptions(\"my-ec-key\")\n    .setCurveName(KeyCurveName.P_256));\n\n// EC key with other curves\nKeyVaultKey ecKey384 = keyClient.createEcKey(new CreateEcKeyOptions(\"my-ec-key-384\")\n    .setCurveName(KeyCurveName.P_384));\n\nKeyVaultKey ecKey521 = keyClient.createEcKey(new CreateEcKeyOptions(\"my-ec-key-521\")\n    .setCurveName(KeyCurveName.P_521));\n\n// HSM-backed EC key\nKeyVaultKey ecHsmKey = keyClient.createEcKey(new CreateEcKeyOptions(\"my-ec-hsm-key\")\n    .setCurveName(KeyCurveName.P_256)\n    .setHardwareProtected(true));\n```\n\n### Create Symmetric Key (Managed HSM only)\n\n```java\nKeyVaultKey octKey = keyClient.createOctKey(new CreateOctKeyOptions(\"my-symmetric-key\")\n    .setKeySize(256)\n    .setHardwareProtected(true));\n```\n\n## Get Key\n\n```java\n// Get latest version\nKeyVaultKey key = keyClient.getKey(\"my-key\");\n\n// Get specific version\nKeyVaultKey keyVersion = keyClient.getKey(\"my-key\", \"<version-id>\");\n\n// Get only key properties (no key material)\nKeyProperties keyProps = keyClient.getKey(\"my-key\").getProperties();\n```\n\n## Update Key Properties\n\n```java\nKeyVaultKey key = keyClient.getKey(\"my-key\");\n\n// Update properties\nkey.getProperties()\n    .setEnabled(false)\n    .setExpiresOn(OffsetDateTime.now().plusMonths(6))\n    .setTags(Map.of(\"status\", \"archived\"));\n\nKeyVaultKey updatedKey = keyClient.updateKeyProperties(key.getProperties(),\n    KeyOperation.ENCRYPT, KeyOperation.DECRYPT);\n```\n\n## List Keys\n\n```java\nimport com.azure.core.util.paging.PagedIterable;\n\n// List all keys\nfor (KeyProperties keyProps : keyClient.listPropertiesOfKeys()) {\n    System.out.println(\"Key: \" + keyProps.getName());\n    System.out.println(\"  Enabled: \" + keyProps.isEnabled());\n    System.out.println(\"  Created: \" + keyProps.getCreatedOn());\n}\n\n// List key versions\nfor (KeyProperties version : keyClient.listPropertiesOfKeyVersions(\"my-key\")) {\n    System.out.println(\"Version: \" + version.getVersion());\n    System.out.println(\"Created: \" + version.getCreatedOn());\n}\n```\n\n## Delete Key\n\n```java\nimport com.azure.core.util.polling.SyncPoller;\n\n// Begin delete (soft-delete enabled vaults)\nSyncPoller<DeletedKey, Void> deletePoller = keyClient.beginDeleteKey(\"my-key\");\n\n// Wait for deletion\nDeletedKey deletedKey = deletePoller.poll().getValue();\nSystem.out.println(\"Deleted: \" + deletedKey.getDeletedOn());\n\ndeletePoller.waitForCompletion();\n\n// Purge deleted key (permanent deletion)\nkeyClient.purgeDeletedKey(\"my-key\");\n\n// Recover deleted key\nSyncPoller<KeyVaultKey, Void> recoverPoller = keyClient.beginRecoverDeletedKey(\"my-key\");\nrecoverPoller.waitForCompletion();\n```\n\n## Cryptographic Operations\n\n### Encrypt/Decrypt\n\n```java\nimport com.azure.security.keyvault.keys.cryptography.models.*;\n\nCryptographyClient cryptoClient = new CryptographyClientBuilder()\n    .keyIdentifier(\"https://<vault>.vault.azure.net/keys/<key-name>\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n\nbyte[] plaintext = \"Hello, World!\".getBytes(StandardCharsets.UTF_8);\n\n// Encrypt\nEncryptResult encryptResult = cryptoClient.encrypt(EncryptionAlgorithm.RSA_OAEP, plaintext);\nbyte[] ciphertext = encryptResult.getCipherText();\nSystem.out.println(\"Ciphertext length: \" + ciphertext.length);\n\n// Decrypt\nDecryptResult decryptResult = cryptoClient.decrypt(EncryptionAlgorithm.RSA_OAEP, ciphertext);\nString decrypted = new String(decryptResult.getPlainText(), StandardCharsets.UTF_8);\nSystem.out.println(\"Decrypted: \" + decrypted);\n```\n\n### Sign/Verify\n\n```java\nimport java.security.MessageDigest;\n\n// Create digest of data\nbyte[] data = \"Data to sign\".getBytes(StandardCharsets.UTF_8);\nMessageDigest md = MessageDigest.getInstance(\"SHA-256\");\nbyte[] digest = md.digest(data);\n\n// Sign\nSignResult signResult = cryptoClient.sign(SignatureAlgorithm.RS256, digest);\nbyte[] signature = signResult.getSignature();\n\n// Verify\nVerifyResult verifyResult = cryptoClient.verify(SignatureAlgorithm.RS256, digest, signature);\nSystem.out.println(\"Valid signature: \" + verifyResult.isValid());\n```\n\n### Wrap/Unwrap Key\n\n```java\n// Key to wrap (e.g., AES key)\nbyte[] keyToWrap = new byte[32];  // 256-bit key\nnew SecureRandom().nextBytes(keyToWrap);\n\n// Wrap\nWrapResult wrapResult = cryptoClient.wrapKey(KeyWrapAlgorithm.RSA_OAEP, keyToWrap);\nbyte[] wrappedKey = wrapResult.getEncryptedKey();\n\n// Unwrap\nUnwrapResult unwrapResult = cryptoClient.unwrapKey(KeyWrapAlgorithm.RSA_OAEP, wrappedKey);\nbyte[] unwrappedKey = unwrapResult.getKey();\n```\n\n## Backup and Restore\n\n```java\n// Backup\nbyte[] backup = keyClient.backupKey(\"my-key\");\n\n// Save backup to file\nFiles.write(Paths.get(\"key-backup.blob\"), backup);\n\n// Restore\nbyte[] backupData = Files.readAllBytes(Paths.get(\"key-backup.blob\"));\nKeyVaultKey restoredKey = keyClient.restoreKeyBackup(backupData);\n```\n\n## Key Rotation\n\n```java\n// Rotate to new version\nKeyVaultKey rotatedKey = keyClient.rotateKey(\"my-key\");\nSystem.out.println(\"New version: \" + rotatedKey.getProperties().getVersion());\n\n// Set rotation policy\nKeyRotationPolicy policy = new KeyRotationPolicy()\n    .setExpiresIn(\"P90D\")  // Expire after 90 days\n    .setLifetimeActions(Arrays.asList(\n        new KeyRotationLifetimeAction(KeyRotationPolicyAction.ROTATE)\n            .setTimeBeforeExpiry(\"P30D\")));  // Rotate 30 days before expiry\n\nkeyClient.updateKeyRotationPolicy(\"my-key\", policy);\n\n// Get rotation policy\nKeyRotationPolicy currentPolicy = keyClient.getKeyRotationPolicy(\"my-key\");\n```\n\n## Import Key\n\n```java\nimport com.azure.security.keyvault.keys.models.ImportKeyOptions;\nimport com.azure.security.keyvault.keys.models.JsonWebKey;\n\n// Import existing key material\nJsonWebKey jsonWebKey = new JsonWebKey()\n    .setKeyType(KeyType.RSA)\n    .setN(modulus)\n    .setE(exponent)\n    .setD(privateExponent)\n    // ... other RSA components\n    ;\n\nImportKeyOptions importOptions = new ImportKeyOptions(\"imported-key\", jsonWebKey)\n    .setHardwareProtected(false);\n\nKeyVaultKey importedKey = keyClient.importKey(importOptions);\n```\n\n## Encryption Algorithms\n\n| Algorithm | Key Type | Description |\n|-----------|----------|-------------|\n| `RSA1_5` | RSA | RSAES-PKCS1-v1_5 |\n| `RSA_OAEP` | RSA | RSAES with OAEP (recommended) |\n| `RSA_OAEP_256` | RSA | RSAES with OAEP using SHA-256 |\n| `A128GCM` | OCT | AES-GCM 128-bit |\n| `A256GCM` | OCT | AES-GCM 256-bit |\n| `A128CBC` | OCT | AES-CBC 128-bit |\n| `A256CBC` | OCT | AES-CBC 256-bit |\n\n## Signature Algorithms\n\n| Algorithm | Key Type | Hash |\n|-----------|----------|------|\n| `RS256` | RSA | SHA-256 |\n| `RS384` | RSA | SHA-384 |\n| `RS512` | RSA | SHA-512 |\n| `PS256` | RSA | SHA-256 (PSS) |\n| `ES256` | EC P-256 | SHA-256 |\n| `ES384` | EC P-384 | SHA-384 |\n| `ES512` | EC P-521 | SHA-512 |\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\nimport com.azure.core.exception.ResourceNotFoundException;\n\ntry {\n    KeyVaultKey key = keyClient.getKey(\"non-existent-key\");\n} catch (ResourceNotFoundException e) {\n    System.out.println(\"Key not found: \" + e.getMessage());\n} catch (HttpResponseException e) {\n    System.out.println(\"HTTP error \" + e.getResponse().getStatusCode());\n    System.out.println(\"Message: \" + e.getMessage());\n}\n```\n\n## Environment Variables\n\n```bash\nAZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net\n```\n\n## Best Practices\n\n1. **Use HSM Keys for Production** - Set `setHardwareProtected(true)` for sensitive keys\n2. **Enable Soft Delete** - Protects against accidental deletion\n3. **Key Rotation** - Set up automatic rotation policies\n4. **Least Privilege** - Use separate keys for different operations\n5. **Local Crypto When Possible** - Use `CryptographyClient` with local key material to reduce round-trips\n\n## Trigger Phrases\n\n- \"Key Vault keys Java\", \"cryptographic keys Java\"\n- \"encrypt decrypt Java\", \"sign verify Java\"\n- \"RSA key\", \"EC key\", \"HSM key\"\n- \"key rotation\", \"wrap unwrap key\"\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","security","keyvault","keys","java","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills"],"capabilities":["skill","source-sickn33","skill-azure-security-keyvault-keys-java","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-security-keyvault-keys-java","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (11,009 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:33.827Z","embedding":null,"createdAt":"2026-04-18T21:33:05.784Z","updatedAt":"2026-04-24T18:50:33.827Z","lastSeenAt":"2026-04-24T18:50:33.827Z","tsv":"'-256':255,566,788,826,838,843,845 '-384':830,849,851 '-512':834,857 '-521':855 '/keys/':114,502 '1':213,901 '128':794,808 '2':207,913 '2048':127,181,244 '256':333,605,781,801,815 '3':921 '30':700 '3072':128 '32':604 '384':282 '4':929 '4.9.0':62 '4096':129,209 '5':765,771,938 '521':294 '6':389 '8':514,542,561 '90':690 'a128cbc':803 'a128gcm':789 'a256cbc':810 'a256gcm':796 'accident':919 'action':992 'ae':598,792,799,806,813 'aes-cbc':805,812 'aes-gcm':791,798 'algorithm':759,760,818,819 'applic':986 'archiv':393 'arrays.aslist':693 'ask':1030 'async':90 'automat':926 'azur':2,7,35,48,58,895 'azure-security-keyvault-key':57 'azure-security-keyvault-keys-java':1 'back':33,231,299 'backup':632,636,638,644,650 'backupdata':653,660 'bash':894 'begin':442 'best':899 'bit':130,606,795,802,809,816 'boundari':1038 'build':88,101,118,506 'buildasynccli':102 'buildclient':89,119,507 'byte':508,522,554,567,577,600,603,619,629,637,652 'catch':873,881 'cbc':807,814 'ciphertext':523,526,535 'ciphertext.length':528 'clarif':1032 'clear':1005 'client':63,78,91,104 'com.azure':56 'com.azure.core.exception.httpresponseexception':862 'com.azure.core.exception.resourcenotfoundexception':864 'com.azure.core.util.paging.pagediterable':404 'com.azure.core.util.polling.syncpoller':441 'com.azure.identity.defaultazurecredentialbuilder':75 'com.azure.security.keyvault.keys.cryptography.cryptographyclient':71 'com.azure.security.keyvault.keys.cryptography.cryptographyclientbuilder':73 'com.azure.security.keyvault.keys.cryptography.models':494 'com.azure.security.keyvault.keys.keyclient':67 'com.azure.security.keyvault.keys.keyclientbuilder':69 'com.azure.security.keyvault.keys.models':167 'com.azure.security.keyvault.keys.models.importkeyoptions':722 'com.azure.security.keyvault.keys.models.jsonwebkey':724 'compon':743 'creat':19,160,162,247,316,419,435,550 'createeckeyopt':261,277,289,306 'createoctkeyopt':327 'creatersakeyopt':175,202,238 'creation':64 'credenti':85,98,115,503 'criteria':1041 'crypto':940 'cryptocli':108,496 'cryptoclient.decrypt':532 'cryptoclient.encrypt':518 'cryptoclient.sign':574 'cryptoclient.unwrapkey':625 'cryptoclient.verify':583 'cryptoclient.wrapkey':615 'cryptograph':14,41,45,489,960 'cryptographi':103 'cryptographycli':107,495,944 'cryptographyclientbuild':110,498 'currentpolici':713 'curv':139,144,256,272 'data':553,555,556,570 'day':691,701 'decrypt':529,537,544,545,964 'decryptresult':530,531 'decryptresult.getplaintext':540 'defaultazurecredentialbuild':87,100,117,505 'delet':437,443,446,459,465,469,472,478,916,920 'deletedkey':450,460,461 'deletedkey.getdeletedon':466 'deletepol':452 'deletepoller.poll':462 'deletepoller.waitforcompletion':467 'describ':993,1009 'descript':123,763 'differ':936 'digest':551,568,576,585 'e':875,883 'e.g':597 'e.getmessage':880,891 'e.getresponse':887 'ec':137,141,248,251,264,268,280,292,300,309,841,847,853,971 'echsmkey':303 'eckey':258 'eckey384':274 'eckey521':286 'ellipt':138,143 'enabl':416,447,914 'encrypt':515,758,963 'encrypt/decrypt':491 'encrypt/decrypt/sign/verify':26,106 'encryptionalgorithm.rsa':519,533 'encryptresult':516,517 'encryptresult.getciphertext':524 'environ':227,892,1021 'environment-specif':1020 'error':858,886 'es256':840 'es384':846 'es512':852 'execut':988 'exist':726,871 'expert':1026 'expir':688 'expiri':703 'expon':738 'fals':385,753 'file':646 'files.readallbytes':654 'files.write':647 'found':879 'gcm':793,800 'get':336,339,348,357,709 'getbyt':512,559 'getproperti':370 'getstatuscod':888 'getvalu':463 'getvers':678 'handl':859 'hash':822 'hello':510 'hsm':32,53,132,136,142,147,152,155,159,230,241,298,310,320,903,973 'hsm-back':31,229,297 'hsmkey':235 'http':885 'httpresponseexcept':882 'id':188 'import':66,68,70,72,74,166,403,440,493,548,718,721,723,725,749,861,863 'imported-key':748 'importedkey':755 'importkeyopt':744,747 'importopt':745,757 'input':1035 'instal':54 'java':6,11,39,65,165,250,322,338,374,402,439,492,547,593,635,663,720,860,959,962,965,968 'java.security.messagedigest':549 'jsonwebkey':729,730,732,751 'key':5,8,10,15,24,34,36,38,42,49,61,76,120,126,134,140,145,150,157,161,164,170,179,183,187,191,195,206,222,224,233,242,249,252,265,269,281,293,301,311,318,331,337,343,347,356,359,362,369,372,376,380,401,407,413,422,430,438,456,470,476,479,487,592,594,599,607,642,661,673,707,717,719,727,750,761,820,867,872,877,904,912,922,934,947,956,958,961,970,972,974,975,979 'key-backup.blob':649,656 'key.getproperties':383,397 'keyasynccli':92,93 'keyclient':79,80 'keyclient.backupkey':639 'keyclient.begindeletekey':453 'keyclient.beginrecoverdeletedkey':484 'keyclient.createeckey':259,275,287,304 'keyclient.createoctkey':325 'keyclient.creatersakey':173,200,236 'keyclient.getkey':344,353,366,377,868 'keyclient.getkeyrotationpolicy':714 'keyclient.importkey':756 'keyclient.listpropertiesofkeys':411 'keyclient.listpropertiesofkeyversions':427 'keyclient.purgedeletedkey':473 'keyclient.restorekeybackup':659 'keyclient.rotatekey':670 'keyclient.updatekeyproperties':396 'keyclient.updatekeyrotationpolicy':704 'keyclientbuild':82,95 'keycurvename.p_256':267,313 'keycurvename.p_384':284 'keycurvename.p_521':296 'keyidentifi':111,499 'keyoperation.decrypt':220,399 'keyoperation.encrypt':219,398 'keyoperation.unwrap':223 'keyoperation.wrap':221 'keyprop':365,410 'keyproperti':364,409,425 'keyprops.getcreatedon':420 'keyprops.getname':414 'keyprops.isenabled':417 'keyrotationlifetimeact':695 'keyrotationpolici':682,685,712 'keyrotationpolicyaction.rotate':696 'keytowrap':601,611,618 'keytype.rsa':734 'keyvault':4,60,896 'keyvaultkey':171,198,234,257,273,285,302,323,342,351,375,394,481,657,668,754,866 'keyvers':352 'keywrapalgorithm.rsa':616,626 'latest':340 'least':930 'length':527 'limit':997 'list':400,405,421 'local':939,946 'manag':16,20,40,52,77,151,319 'map.of':226,391 'match':1006 'materi':363,728,948 'md':563 'md.digest':569 'messag':890 'messagedigest':562 'messagedigest.getinstance':564 'miss':1043 'modulus':736 'my-ec-hsm-key':307 'my-ec-key':262,278,290 'my-hsm-key':239 'my-key':345,354,367,378,428,454,474,485,640,671,705,715 'my-rsa-key':176,203 'my-symmetric-key':328 'name':184 'new':81,86,94,99,109,116,174,201,237,260,276,288,305,326,497,504,538,602,608,666,675,684,694,731,746 'nextbyt':610 'non':870 'non-existent-key':869 'oaep':520,534,617,627,773,777,780,785 'oct':148,154,790,797,804,811 'octkey':324 'offsetdatetime.now':211,215,387 'oper':27,46,490,937 'option':197 'output':1015 'overview':996 'p':254,842,848,854 'p30d':698 'p90d':687 'paths.get':648,655 'perform':25,44 'perman':471 'permiss':1036 'phrase':955 'pkcs1':769 'plaintext':509,521 'plusmonth':388 'plusyear':212 'polici':681,683,708,711,928 'possibl':942 'practic':900 'privateexpon':740 'privileg':931 'product':228,906 'properti':360,373,382 'protect':917 'ps256':835 'pss':839 'purg':468 'recommend':778 'recov':477 'recoverpol':483 'recoverpoller.waitforcompletion':488 'reduc':950 'requir':1034 'resourcenotfoundexcept':874 'restor':634,651 'restoredkey':658 'review':1027 'rotat':662,664,680,699,710,923,927,976 'rotatedkey':669 'rotatedkey.getproperties':677 'round':952 'round-trip':951 'rs256':823 'rs384':827 'rs512':831 'rsa':124,125,131,133,163,169,178,194,205,232,742,766,772,774,779,782,824,828,832,836,969 'rsa/ec':23 'rsa1':764 'rsae':768,775,783 'rsaes-pkcs1-v1':767 'rsakey':172 'rsakey.getid':189 'rsakey.getkeytype':193 'rsakey.getname':185 'rsakeywithopt':199 'safeti':1037 'save':643 'scope':1008 'sdk':12 'secur':3,59 'securerandom':609 'sensit':911 'separ':933 'set':679,907,924 'setcurvenam':266,283,295,312 'setd':739 'sete':737 'seten':216,384 'setexpiresin':686 'setexpireson':210,386 'sethardwareprotect':245,314,334,752,908 'setkeyoper':218 'setkeys':180,208,243,332 'setkeytyp':733 'setlifetimeact':692 'setn':735 'setnotbefor':214 'settag':225,390 'settimebeforeexpiri':697 'sha':565,787,825,829,833,837,844,850,856 'sign':558,571,966 'sign/verify':546 'signatur':578,586,589,817 'signaturealgorithm.rs256':575,584 'signresult':572,573 'signresult.getsignature':579 'simpl':168 'skill':984,1000 'skill-azure-security-keyvault-keys-java' 'soft':445,915 'soft-delet':444 'source-sickn33' 'specif':349,1022 'standardcharsets.utf':513,541,560 'status':392 'stop':1028 'string':536,539 'substitut':1018 'success':1040 'symmetr':149,156,317,330 'syncpol':449,480 'system.out.println':182,186,190,412,415,418,431,434,464,525,543,587,674,876,884,889 'task':1004 'test':1024 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1013 'tri':865 'trigger':954 'trip':953 'true':217,246,315,335,909 'type':121,122,192,762,821 'unwrap':622,978 'unwrappedkey':630 'unwrapresult':623,624 'unwrapresult.getkey':631 'updat':371,381 'updatedkey':395 'url':897 'use':17,22,786,902,932,943,982,998 'v1':770 'valid':588,1023 'variabl':893 'vault':9,37,50,448,957 'vault.azure.net':84,97,113,501,898 'vault.azure.net/keys/':112,500 'vaulturl':83,96 'verifi':580,967 'verifyresult':581,582 'verifyresult.isvalid':590 'version':341,350,423,426,432,667,676 'version.getcreatedon':436 'version.getversion':433 'void':451,482 'wait':457 'work':29 'workflow':990 'world':511 'wrap':596,612,977 'wrap/unwrap':591 'wrappedkey':620,628 'wrapresult':613,614 'wrapresult.getencryptedkey':621 'xml':55","prices":[{"id":"1e6de7a5-85c7-4bd4-b373-db7b2eeb6761","listingId":"ab0775d0-490a-4a82-851e-5d6b0815efd4","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:05.784Z"}],"sources":[{"listingId":"ab0775d0-490a-4a82-851e-5d6b0815efd4","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-security-keyvault-keys-java","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-security-keyvault-keys-java","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:05.784Z","lastSeenAt":"2026-04-24T18:50:33.827Z"}],"details":{"listingId":"ab0775d0-490a-4a82-851e-5d6b0815efd4","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-security-keyvault-keys-java","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"fb9e930e6d9c5f436a6a29cd1a2d98709bf68ef6","skill_md_path":"skills/azure-security-keyvault-keys-java/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-security-keyvault-keys-java"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-security-keyvault-keys-java","description":"Azure Key Vault Keys Java SDK for cryptographic key management. Use when creating, managing, or using RSA/EC keys, performing encrypt/decrypt/sign/verify operations, or working with HSM-backed keys."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-security-keyvault-keys-java"},"updatedAt":"2026-04-24T18:50:33.827Z"}}