0

In node, I used to do it this way

const Credstash = require('nodecredstash');

    const credstash = new Credstash({
        table: <table_name>,
        kmsKey: <kms_key>,
      });

      return credstash.getSecret({
        name: <secret_name>,
        context: { access: <secret_name> },
      })

I tried same using python package credstash as per following code

import credstash as cd
secret=cd.getSecret(name=<secret_name>,table=<table_name>,context={ 'access': <secrest_name>},kms={ 'key': <kms_key>})
print('GOT', secret)

But giving error

AttributeError: 'dict' object has no attribute 'decrypt'
azhar22k
  • 4,765
  • 4
  • 21
  • 24

1 Answers1

1

Figured it out. Missed a kms client.

import boto3
import credstash as cd
from json import loads

kms = boto3.client('kms')

secret=cd.getSecret(
name=<secret_name>,
table=<table_name>,
context={ 'access': <secret_name>},
kms=kms)
print('GOT', loads(secret))
azhar22k
  • 4,765
  • 4
  • 21
  • 24