Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
KeyClient'ı uygun programlı kimlik doğrulaması kimlik bilgileriyle oluşturun, ardından CryptographyClient oluşturmak için istemciyi kullanarak Azure Key Vault'ta bir anahtarı ayarlayın, güncelleştirin ve döndürün.
İmzalama verileri
İmzalama verileri için birkaç öneri:
- İmzalamadan önce büyük verileri karma olarak oluşturma
- Parolalar gibi imzalamadan önce tek yönlü verileri karma yapma
- Küçük 2 yönlü veriler doğrudan imzalanabilir
Anahtarla büyük veya tek yönlü verileri imzalama ve doğrulama
Özetlenen iletinizi imzalamak ve doğrulamak için aşağıdaki yöntemleri kullanın:
Özetlenen iletiler için:
- bir iletinin özetini imzalamak için imzalayın . Bu, büyük veriler veya parolalar gibi tek yönlü veriler için kullanışlıdır.
- bir iletinin özetini doğrulamak için doğrulayın .
import { createHash } from "crypto";
import { DefaultAzureCredential } from '@azure/identity';
import {
CryptographyClient,
KeyClient,
KnownSignatureAlgorithms
} from '@azure/keyvault-keys';
// get service client
const credential = new DefaultAzureCredential();
const serviceClient = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// get existing key
const keyVaultKey = await serviceClient.getKey('MyRsaKey');
if (keyVaultKey?.name) {
// get encryption client with key
const cryptoClient = new CryptographyClient(keyVaultKey, credential);
// get digest
const digestableData = "MyLargeOrOneWayData";
const digest = createHash('sha256')
.update(digestableData)
.update(process.env.SYSTEM_SALT || '')
.digest();
// sign digest
const { result: signature } = await cryptoClient.sign(KnownSignatureAlgorithms.RS256, digest);
// store signed digest in database
// verify signature
const { result: verified } = await cryptoClient.verify(KnownSignatureAlgorithms.RS256, digest, signature);
console.log(`Verification ${verified ? 'succeeded' : 'failed'}.`);
}
Anahtarla küçük verileri imzalama ve doğrulama
Verilerinizi imzalamak ve doğrulamak için aşağıdaki yöntemleri kullanın:
Veriler için:
import { createHash } from "crypto";
import { DefaultAzureCredential } from '@azure/identity';
import {
CryptographyClient,
KeyClient,
KnownSignatureAlgorithms
} from '@azure/keyvault-keys';
// get service client
const credential = new DefaultAzureCredential();
const serviceClient = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// get existing key
const keyVaultKey = await serviceClient.getKey('MyRsaKey');
if (keyVaultKey?.name) {
// get encryption client with key
const cryptoClient = new CryptographyClient(keyVaultKey, credential);
const data = 'Hello you bright big beautiful world!';
// sign
const { result: signature } = await cryptoClient.signData(
KnownSignatureAlgorithms.RS256,
Buffer.from(data, 'utf8')
);
// verify signature
const { result: verified } = await cryptoClient.verifyData(
KnownSignatureAlgorithms.RS256,
Buffer.from(data, 'utf8'),
signature
);
console.log(`Verification ${verified ? 'succeeded' : 'failed'}.`);
}