3

How can we read BYOK Compatible certificates present in Salesfoce using Apex (or SF REST APIs). Also is there any way to generate BYOK Compatible certificate using Apex code or SF REST APIs.

I referred below link but it only talks about creating tenant secret using REST api.

https://developer.salesforce.com/docs/atlas.en-us.platform_encryption_rest_api_guide.meta/platform_encryption_rest_api_guide/api_rest_encryption.htm#overview

EDIT:

I am able to fetch other metadata like "ApexClass" using below code. However, for certificate getting error INVALID_TYPE. (using package mentioned by Chuck: https://github.com/financialforcedev/apex-mdapi)

MetadataService.MetadataPort service = new MetadataService.MetadataPort();
service.SessionHeader = new MetadataService.SessionHeader_element();
service.SessionHeader.sessionId = UserInfo.getSessionId();

List<MetadataService.ListMetadataQuery> queries = new List<MetadataService.ListMetadataQuery>();                  
MetadataService.ListMetadataQuery queryWorkflow = new MetadataService.ListMetadataQuery();

queryWorkflow.type_x = 'ApexClass'; //working
//queryWorkflow.type_x = Certificate//not working

queries.add(queryWorkflow);                    

MetadataService.FileProperties[] fileProperties = service.listMetadata(queries, 25);

for(MetadataService.FileProperties fileProperty : fileProperties) {
     System.debug(fileProperty);
}

1 Answer 1

3

Managing the cert can be done via the MetaData API: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_certificate.htm

There isn't a straightforward way to do that with Apex. You might be able to hack it out using the FinancialForce package: https://github.com/financialforcedev/apex-mdapi

3
  • Thanks Chuck for reply. I tried with examples mentioned by you. However, I am not able to query 'Certificate' info (getting error INVALID_TYPE), but other type are working fine (eg: ApexClass) and I am able to query them. Apr 9, 2018 at 3:22
  • @NeerajKukreti If you are trying to SOQL query, Certificate is not considered as an SObject type, unlike ApexClass. Chuck's point is that the data is technically accessible through an API, but not native to Apex. Apr 12, 2018 at 4:28
  • @TheSFDCTower I am using FinancialForce package mentioned by Chuck but still not able to fetch certificate info. I have updated my question with snippet I am using. Apr 19, 2018 at 6:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .