2828import  java .util .concurrent .atomic .AtomicBoolean ;
2929
3030import  io .netty .handler .codec .http .HttpRequest ;
31+ import  net .jsign .ks .YubiKeyKeyStore ;
3132import  org .apache .commons .cli .ParseException ;
3233import  org .apache .commons .io .ByteOrderMark ;
3334import  org .apache .commons .io .FileUtils ;
@@ -54,7 +55,7 @@ public class JsignCLITest {
5455    private  JsignCLI  cli ;
5556    private  File  sourceFile  = new  File ("target/test-classes/wineyes.exe" );
5657    private  File  targetFile  = new  File ("target/test-classes/wineyes-signed-with-cli.exe" );
57-      
58+ 
5859    private  String  keystore  = "keystore.jks" ;
5960    private  String  alias     = "test" ;
6061    private  String  keypass   = "password" ;
@@ -64,12 +65,12 @@ public class JsignCLITest {
6465    @ Before 
6566    public  void  setUp () throws  Exception  {
6667        cli  = new  JsignCLI ();
67-          
68+ 
6869        // remove the files signed previously 
6970        if  (targetFile .exists ()) {
7071            assertTrue ("Unable to remove the previously signed file" , targetFile .delete ());
7172        }
72-          
73+ 
7374        assertEquals ("Source file CRC32" , SOURCE_FILE_CRC32 , FileUtils .checksumCRC32 (sourceFile ));
7475        Thread .sleep (100 );
7576        FileUtils .copyFile (sourceFile , targetFile );
@@ -226,7 +227,7 @@ public void testSigningMultipleFiles() throws Exception {
226227    public  void  testSigningMultipleFilesWithListFile () throws  Exception  {
227228        File  listFile  = new  File ("target/test-classes/files.txt" );
228229        Files .write (listFile .toPath (), Arrays .asList ("# first file" , '"'  + targetFile .getPath () + '"' , " " , "# second file" , targetFile .getAbsolutePath ()));
229-          
230+ 
230231        cli .execute ("--name=WinEyes" , "--url=http://www.steelblue.com/WinEyes" , "--alg=SHA-1" , "--keystore=target/test-classes/keystores/"  + keystore , "--keypass="  + keypass , "@"  + listFile );
231232
232233        assertTrue ("The file "  + targetFile  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile ));
@@ -278,7 +279,7 @@ public void testSigningPowerShell() throws Exception {
278279        File  sourceFile  = new  File ("target/test-classes/hello-world.ps1" );
279280        File  targetFile  = new  File ("target/test-classes/hello-world-signed-with-cli.ps1" );
280281        FileUtils .copyFile (sourceFile , targetFile );
281-          
282+ 
282283        cli .execute ("--alg=SHA-1" , "--replace" , "--encoding=ISO-8859-1" , "--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass , ""  + targetFile );
283284
284285        PowerShellScript  script  = new  PowerShellScript (targetFile );
@@ -291,7 +292,7 @@ public void testSigningPowerShellWithDefaultEncoding() throws Exception {
291292        File  sourceFile  = new  File ("target/test-classes/hello-world.ps1" );
292293        File  targetFile  = new  File ("target/test-classes/hello-world-signed-with-cli.ps1" );
293294        FileUtils .copyFile (sourceFile , targetFile );
294-          
295+ 
295296        cli .execute ("--alg=SHA-1" , "--replace" , "--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass , ""  + targetFile );
296297
297298        PowerShellScript  script  = new  PowerShellScript (targetFile );
@@ -304,7 +305,7 @@ public void testSigningMSI() throws Exception {
304305        File  sourceFile  = new  File ("target/test-classes/minimal.msi" );
305306        File  targetFile  = new  File ("target/test-classes/minimal-signed-with-cli.msi" );
306307        FileUtils .copyFile (sourceFile , targetFile );
307-          
308+ 
308309        cli .execute ("--alg=SHA-1" , "--replace" , "--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass , ""  + targetFile );
309310
310311        try  (MSIFile  file  = new  MSIFile (targetFile )) {
@@ -315,7 +316,7 @@ public void testSigningMSI() throws Exception {
315316    @ Test 
316317    public  void  testSigningPKCS12 () throws  Exception  {
317318        cli .execute ("--name=WinEyes" , "--url=http://www.steelblue.com/WinEyes" , "--alg=SHA-256" , "--keystore=target/test-classes/keystores/keystore.p12" , "--alias=test" , "--storepass=password" , ""  + targetFile );
318-          
319+ 
319320        assertTrue ("The file "  + targetFile  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile ));
320321
321322        try  (PEFile  peFile  = new  PEFile (targetFile )) {
@@ -337,7 +338,7 @@ public void testSigningJCEKS() throws Exception {
337338    @ Test 
338339    public  void  testSigningPVKSPC () throws  Exception  {
339340        cli .execute ("--url=http://www.steelblue.com/WinEyes" , "--certfile=target/test-classes/keystores/jsign-test-certificate-full-chain.spc" , "--keyfile=target/test-classes/keystores/privatekey-encrypted.pvk" , "--storepass=password" , ""  + targetFile );
340-          
341+ 
341342        assertTrue ("The file "  + targetFile  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile ));
342343
343344        try  (PEFile  peFile  = new  PEFile (targetFile )) {
@@ -348,7 +349,7 @@ public void testSigningPVKSPC() throws Exception {
348349    @ Test 
349350    public  void  testSigningPEM () throws  Exception  {
350351        cli .execute ("--certfile=target/test-classes/keystores/jsign-test-certificate.pem" , "--keyfile=target/test-classes/keystores/privatekey.pkcs8.pem" , "--keypass=password" , ""  + targetFile );
351-          
352+ 
352353        assertTrue ("The file "  + targetFile  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile ));
353354
354355        try  (PEFile  peFile  = new  PEFile (targetFile )) {
@@ -359,7 +360,7 @@ public void testSigningPEM() throws Exception {
359360    @ Test 
360361    public  void  testSigningEncryptedPEM () throws  Exception  {
361362        cli .execute ("--certfile=target/test-classes/keystores/jsign-test-certificate.pem" , "--keyfile=target/test-classes/keystores/privatekey-encrypted.pkcs1.pem" , "--keypass=password" , ""  + targetFile );
362-          
363+ 
363364        assertTrue ("The file "  + targetFile  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile ));
364365
365366        try  (PEFile  peFile  = new  PEFile (targetFile )) {
@@ -369,7 +370,7 @@ public void testSigningEncryptedPEM() throws Exception {
369370
370371    @ Test 
371372    public  void  testSigningWithYubikey () throws  Exception  {
372-         Assume .assumeTrue ("No Yubikey detected" , YubiKey .isPresent ());
373+         Assume .assumeTrue ("No Yubikey detected" , YubiKeyKeyStore .isPresent ());
373374
374375        cli .execute ("--storetype=YUBIKEY" , "--certfile=target/test-classes/keystores/jsign-test-certificate-full-chain.spc" , "--storepass=123456" , "--alias=X.509 Certificate for Digital Signature" , ""  + targetFile , ""  + targetFile );
375376    }
@@ -379,7 +380,7 @@ public void testTimestampingAuthenticode() throws Exception {
379380        File  targetFile2  = new  File ("target/test-classes/wineyes-timestamped-with-cli-authenticode.exe" );
380381        FileUtils .copyFile (sourceFile , targetFile2 );
381382        cli .execute ("--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass , "--tsaurl=http://timestamp.sectigo.com" , "--tsmode=authenticode" , ""  + targetFile2 );
382-          
383+ 
383384        assertTrue ("The file "  + targetFile2  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile2 ));
384385
385386        try  (PEFile  peFile  = new  PEFile (targetFile2 )) {
@@ -412,18 +413,18 @@ public HttpFilters filterRequest(HttpRequest originalRequest) {
412413                    }
413414                })
414415                .start ();
415-          
416+ 
416417        try  {
417418            File  targetFile2  = new  File ("target/test-classes/wineyes-timestamped-with-cli-rfc3161-proxy-unauthenticated.exe" );
418419            FileUtils .copyFile (sourceFile , targetFile2 );
419420            cli .execute ("--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass ,
420421                        "--tsaurl=http://timestamp.sectigo.com" , "--tsmode=rfc3161" , "--tsretries=1" , "--tsretrywait=1" ,
421422                        "--proxyUrl=localhost:"  + proxy .getListenAddress ().getPort (),
422423                        ""  + targetFile2 );
423-              
424+ 
424425            assertTrue ("The file "  + targetFile2  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile2 ));
425426            assertTrue ("The proxy wasn't used" , proxyUsed .get ());
426-      
427+ 
427428            try  (PEFile  peFile  = new  PEFile (targetFile2 )) {
428429                SignatureAssert .assertSigned (peFile , SHA256 );
429430            }
@@ -465,10 +466,10 @@ public String getRealm() {
465466                        "--proxyUser=jsign" ,
466467                        "--proxyPass=jsign" ,
467468                        ""  + targetFile2 );
468-              
469+ 
469470            assertTrue ("The file "  + targetFile2  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile2 ));
470471            assertTrue ("The proxy wasn't used" , proxyUsed .get ());
471-      
472+ 
472473            try  (PEFile  peFile  = new  PEFile (targetFile2 )) {
473474                SignatureAssert .assertSigned (peFile , SHA256 );
474475            }
@@ -482,11 +483,11 @@ public void testReplaceSignature() throws Exception {
482483        File  targetFile2  = new  File ("target/test-classes/wineyes-re-signed.exe" );
483484        FileUtils .copyFile (sourceFile , targetFile2 );
484485        cli .execute ("--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass , ""  + targetFile2 );
485-          
486+ 
486487        assertTrue ("The file "  + targetFile2  + " wasn't changed" , SOURCE_FILE_CRC32  != FileUtils .checksumCRC32 (targetFile2 ));
487-          
488+ 
488489        cli .execute ("--keystore=target/test-classes/keystores/"  + keystore , "--alias="  + alias , "--keypass="  + keypass , "--alg=SHA-512" , "--replace" , ""  + targetFile2 );
489-          
490+ 
490491        try  (PEFile  peFile  = new  PEFile (targetFile2 )) {
491492            SignatureAssert .assertSigned (peFile , SHA512 );
492493        }
@@ -525,7 +526,7 @@ public Integer getStatus() {
525526        }
526527
527528        public  void  checkPermission (Permission  perm ) { }
528-          
529+ 
529530        public  void  checkPermission (Permission  perm , Object  context ) { }
530531
531532        public  void  checkExit (int  status ) {
0 commit comments