Alternate constructor intended for using .p12 files.

        Args:
            key (dict) - Parsed JSON with service account credentials.
            email (str) - Service account email.
            scopes (Union[str, collections.Iterable[str]]) -
                List of permissions that the application requests.
            subject (str) - The email address of the user for which
                the application is requesting delegated access.
            passphrase (str) - Passphrase of private key file.
                Google generates .p12 files secured with fixed 'notasecret'
                passphrase, so if you didn't change it it's fine to omit
                this parameter.

        Returns:
            ServiceAccount

def from_pkcs12(cls, key, email, scopes, subject=None,
                    passphrase=PKCS12_PASSPHRASE):
        """Alternate constructor intended for using .p12 files.

        Args:
            key (dict) - Parsed JSON with service account credentials.
            email (str) - Service account email.
            scopes (Union[str, collections.Iterable[str]]) -
                List of permissions that the application requests.
            subject (str) - The email address of the user for which
                the application is requesting delegated access.
            passphrase (str) - Passphrase of private key file.
                Google generates .p12 files secured with fixed 'notasecret'
                passphrase, so if you didn't change it it's fine to omit
                this parameter.

        Returns:
            ServiceAccount
        """
        key = OpenSSL.crypto.load_pkcs12(key, passphrase).get_privatekey()
        return cls(key=key, email=email, scopes=scopes, subject=subject)