39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// From https://github.com/OpenBuilds/OpenBuilds-CONTROL/blob/4800540ffaa517925fc2cff26670809efa341ffe/signWin.js
							 | 
						||
| 
								 | 
							
								const { execSync } = require('node:child_process')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.default = async (configuration) => {
							 | 
						||
| 
								 | 
							
								  if (!process.env.SM_API_KEY) {
							 | 
						||
| 
								 | 
							
								    console.error(
							 | 
						||
| 
								 | 
							
								      'Signing using signWin.js script: failed: SM_API_KEY ENV VAR NOT FOUND'
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								    return
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!process.env.WINDOWS_CERTIFICATE_THUMBPRINT) {
							 | 
						||
| 
								 | 
							
								    console.error(
							 | 
						||
| 
								 | 
							
								      'Signing using signWin.js script: failed: FINGERPRINT ENV VAR NOT FOUND'
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								    return
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!configuration.path) {
							 | 
						||
| 
								 | 
							
								    throw new Error(
							 | 
						||
| 
								 | 
							
								      `Signing using signWin.js script: failed: TARGET PATH NOT FOUND`
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  try {
							 | 
						||
| 
								 | 
							
								    execSync(
							 | 
						||
| 
								 | 
							
								      `smctl sign --fingerprint="${
							 | 
						||
| 
								 | 
							
								        process.env.WINDOWS_CERTIFICATE_THUMBPRINT
							 | 
						||
| 
								 | 
							
								      }" --input "${String(configuration.path)}"`,
							 | 
						||
| 
								 | 
							
								      {
							 | 
						||
| 
								 | 
							
								        stdio: 'inherit',
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								    console.log('Signing using signWin.js script: successful')
							 | 
						||
| 
								 | 
							
								  } catch (error) {
							 | 
						||
| 
								 | 
							
								    console.error('Signing using signWin.js script: failed:', error)
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |