]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Pkcs7Sign/Pkcs7Sign.py
BaseTools: Replace StandardError with Expression
[mirror_edk2.git] / BaseTools / Source / Python / Pkcs7Sign / Pkcs7Sign.py
index 6412587e4ba52eb4f253fb0aaba3dc8fec384a51..11d11700ed9902316a76d2b25df60bd8c4241989 100644 (file)
@@ -19,6 +19,7 @@
 '''\r
 Pkcs7Sign\r
 '''\r
+from __future__ import print_function\r
 \r
 import os\r
 import sys\r
@@ -102,6 +103,8 @@ if __name__ == '__main__':
   try:\r
     OpenSslPath = os.environ['OPENSSL_PATH']\r
     OpenSslCommand = os.path.join(OpenSslPath, OpenSslCommand)\r
+    if ' ' in OpenSslCommand:\r
+      OpenSslCommand = '"' + OpenSslCommand + '"'\r
   except:\r
     pass\r
 \r
@@ -111,14 +114,14 @@ if __name__ == '__main__':
   try:\r
     Process = subprocess.Popen('%s version' % (OpenSslCommand), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)\r
   except:\r
-    print 'ERROR: Open SSL command not available.  Please verify PATH or set OPENSSL_PATH'\r
+    print('ERROR: Open SSL command not available.  Please verify PATH or set OPENSSL_PATH')\r
     sys.exit(1)\r
 \r
   Version = Process.communicate()\r
-  if Process.returncode <> 0:\r
-    print 'ERROR: Open SSL command not available.  Please verify PATH or set OPENSSL_PATH'\r
+  if Process.returncode != 0:\r
+    print('ERROR: Open SSL command not available.  Please verify PATH or set OPENSSL_PATH')\r
     sys.exit(Process.returncode)\r
-  print Version[0]\r
+  print(Version[0])\r
 \r
   #\r
   # Read input file into a buffer and save input filename\r
@@ -132,7 +135,7 @@ if __name__ == '__main__':
   #\r
   OutputDir = os.path.dirname(args.OutputFile)\r
   if not os.path.exists(OutputDir):\r
-    print 'ERROR: The output path does not exist: %s' % OutputDir\r
+    print('ERROR: The output path does not exist: %s' % OutputDir)\r
     sys.exit(1)\r
   args.OutputFileName = args.OutputFile\r
 \r
@@ -168,7 +171,7 @@ if __name__ == '__main__':
         args.SignerPrivateCertFile = open(args.SignerPrivateCertFileName, 'rb')\r
         args.SignerPrivateCertFile.close()\r
       except:\r
-        print 'ERROR: test signer private cert file %s missing' % (args.SignerPrivateCertFileName)\r
+        print('ERROR: test signer private cert file %s missing' % (args.SignerPrivateCertFileName))\r
         sys.exit(1)\r
 \r
     #\r
@@ -194,7 +197,7 @@ if __name__ == '__main__':
         args.OtherPublicCertFile = open(args.OtherPublicCertFileName, 'rb')\r
         args.OtherPublicCertFile.close()\r
       except:\r
-        print 'ERROR: test other public cert file %s missing' % (args.OtherPublicCertFileName)\r
+        print('ERROR: test other public cert file %s missing' % (args.OtherPublicCertFileName))\r
         sys.exit(1)\r
 \r
     format = "%dsQ" % len(args.InputFileBuffer)\r
@@ -203,9 +206,9 @@ if __name__ == '__main__':
     #\r
     # Sign the input file using the specified private key and capture signature from STDOUT\r
     #\r
-    Process = subprocess.Popen('%s smime -sign -binary -signer "%s" -outform DER -md sha256 -certfile "%s"' % (OpenSslCommand, args.SignerPrivateCertFileName, args.OtherPublicCertFileName), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)\r
+    Process = subprocess.Popen('%s smime -sign -binary -signer "%s" -outform DER -md sha256 -certfile "%s"' % (OpenSslCommand, args.SignerPrivateCertFileName, args.OtherPublicCertFileName), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)\r
     Signature = Process.communicate(input=FullInputFileBuffer)[0]\r
-    if Process.returncode <> 0:\r
+    if Process.returncode != 0:\r
       sys.exit(Process.returncode)\r
 \r
     #\r
@@ -240,11 +243,11 @@ if __name__ == '__main__':
         args.TrustedPublicCertFile = open(args.TrustedPublicCertFileName, 'rb')\r
         args.TrustedPublicCertFile.close()\r
       except:\r
-        print 'ERROR: test trusted public cert file %s missing' % (args.TrustedPublicCertFileName)\r
+        print('ERROR: test trusted public cert file %s missing' % (args.TrustedPublicCertFileName))\r
         sys.exit(1)\r
 \r
     if not args.SignatureSizeStr:\r
-      print "ERROR: please use the option --signature-size to specify the size of the signature data!"\r
+      print("ERROR: please use the option --signature-size to specify the size of the signature data!")\r
       sys.exit(1)\r
     else:\r
       if args.SignatureSizeStr.upper().startswith('0X'):\r
@@ -252,10 +255,10 @@ if __name__ == '__main__':
       else:\r
         SignatureSize = (long)(args.SignatureSizeStr)\r
     if SignatureSize < 0:\r
-        print "ERROR: The value of option --signature-size can't be set to negative value!"\r
+        print("ERROR: The value of option --signature-size can't be set to negative value!")\r
         sys.exit(1)\r
     elif SignatureSize > len(args.InputFileBuffer):\r
-        print "ERROR: The value of option --signature-size is exceed the size of the input file !"\r
+        print("ERROR: The value of option --signature-size is exceed the size of the input file !")\r
         sys.exit(1)\r
 \r
     args.SignatureBuffer = args.InputFileBuffer[0:SignatureSize]\r
@@ -272,10 +275,10 @@ if __name__ == '__main__':
     #\r
     # Verify signature\r
     #\r
-    Process = subprocess.Popen('%s smime -verify -inform DER -content %s -CAfile %s' % (OpenSslCommand, args.OutputFileName, args.TrustedPublicCertFileName), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)\r
+    Process = subprocess.Popen('%s smime -verify -inform DER -content %s -CAfile %s' % (OpenSslCommand, args.OutputFileName, args.TrustedPublicCertFileName), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)\r
     Process.communicate(input=args.SignatureBuffer)[0]\r
-    if Process.returncode <> 0:\r
-      print 'ERROR: Verification failed'\r
+    if Process.returncode != 0:\r
+      print('ERROR: Verification failed')\r
       os.remove (args.OutputFileName)\r
       sys.exit(Process.returncode)\r
 \r