public BsonDocument DecryptCommand(IKmsCredentials credentials, IMongoDatabase db, BsonDocument doc) { CryptOptions options = new CryptOptions(credentials); using (var cryptClient = CryptClientFactory.Create(options)) using (var context = cryptClient.StartDecryptionContext(BsonUtil.ToBytes(doc))) { return(ProcessState(context, db, null)); } }
public BsonDocument EncryptCommand(IKmsCredentials credentials, IMongoCollection <BsonDocument> coll, BsonDocument cmd) { CryptOptions options = new CryptOptions(credentials); using (var cryptClient = CryptClientFactory.Create(options)) using (var context = cryptClient.StartEncryptionContext(coll.Database.DatabaseNamespace.DatabaseName, command: BsonUtil.ToBytes(cmd))) { return(ProcessState(context, coll.Database, cmd)); } }
public Guid GenerateKey(IKmsCredentials credentials, IKmsKeyId kmsKeyId) { CryptOptions options = new CryptOptions(credentials); BsonDocument key = null; using (var cryptClient = CryptClientFactory.Create(options)) using (var context = cryptClient.StartCreateDataKeyContext(kmsKeyId)) { key = ProcessState(context, _keyVault.Database, null); } _keyVault.InsertOne(key); Guid g = key["_id"].AsGuid; return(g); }
public CryptOptions(IKmsCredentials kmsCredentials, byte[] schema) { KmsCredentials = kmsCredentials; Schema = schema; }
public CryptOptions(IKmsCredentials kmsCredentials) { KmsCredentials = kmsCredentials; }