US 12,293,170 B1
Securing an application programming interface (“API”) during the build of a software development kit (“SDK”)
Frederik Van Voorden, Los Angeles, CA (US); Aaron Wangugi, Los Angeles, CA (US); and Ankit Sultania, Los Angeles, CA (US)
Assigned to Snap Inc., Santa Monica, CA (US)
Filed by Snap Inc., Santa Monica, CA (US)
Filed on May 10, 2023, as Appl. No. 18/315,411.
Int. Cl. G06F 8/41 (2018.01); G06F 9/54 (2006.01); G06F 11/36 (2006.01); G06F 11/3668 (2025.01); H04L 9/32 (2006.01)
CPC G06F 8/41 (2013.01) [G06F 11/3684 (2013.01); H04L 9/3247 (2013.01); G06F 9/547 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system to secure a private secret key during a software build, the system comprising:
at least one processor;
a memory storage device storing instructions thereon, which, when executed by the processor, cause the system to perform operations comprising:
executing a first script at a first server computer, the first script configured to perform operations comprising:
communicating a request for a value of a private secret key over a private network from the first server computer to a keychain service executing on a second server computer, the request including a reference to a variable storing the value of the private secret key and an end-user identifier;
responsive to communicating the request, receiving from the keychain service the value for the private secret key; and
invoking a second script for execution by an automated software build tool at the first server computer while passing from the first script to the second script the value for the private secret key, wherein the second script is configured to build an executable file for distribution with a software development kit, by:
invoking a software compiler to compile source code included in one or more source code files into the executable file, wherein at least one source code file contains a macro, which, upon executing at compile time, obtains the value of the private secret key from the automated software build tool for use by the executable file.