A method for performing antivirus checking of a file, the method comprising: obtaining a digital certificate associated with the file, wherein the obtained digital certificate is an end certificate of the software manufacturer who signed the file and associated with a certificate chain; determining, by a hardware processor, validity of the obtained end certificate by decrypting a digital signature of the obtained digital certificate using a public key, calculating a hash value of the digital certificate, and comparing the decrypted digital signature with the calculated hash value; verifying the signature of the file; assigning a level of trust to the end certificate based on the determined validity or invalidity of the end certificate and further based on a set of intermediate certificates in the certificate chain, wherein the assigning step comprises: constructing the certificate chain from the end certificate; and traversing the certificate chain starting from the end certificate; wherein a low level of trust is assigned to the end certificate, when an intermediate certificate of the certificate chain is found in a database and associated with a low level of trust, wherein a medium level of trust is assigned to the end certificate, when at least one intermediate certificate of the certificate chain is found in the database and associated with a medium level of trust, and none of the intermediate certificates has a low level of trust, wherein a high level of trust is assigned to the end certificate when all intermediate certificates of the certificate chain that are found in the database are associated with a high level of trust; wherein intermediate certificate authorities are discredited by assigning a lower level of trust in the database based on a number of malicious files being signed by end certificates containing the intermediate certificate in their chains; and performing an antivirus checking method on the file based on the assigned level of trust of the end certificate of the file, wherein one or more of heuristic analysis, emulation, and blocking execution is performed on the file having an end certificate with an assigned low level of trust. obtaining a digital certificate associated with the file, wherein the obtained digital certificate is an end certificate of the software manufacturer who signed the file and associated with a certificate chain; determining, by a hardware processor, validity of the obtained end certificate by decrypting a digital signature of the obtained digital certificate using a public key, calculating a hash value of the digital certificate, and comparing the decrypted digital signature with the calculated hash value; verifying the signature of the file; assigning a level of trust to the end certificate based on the determined validity or invalidity of the end certificate and further based on a set of intermediate certificates in the certificate chain, wherein the assigning step comprises: constructing the certificate chain from the end certificate; and traversing the certificate chain starting from the end certificate; wherein a low level of trust is assigned to the end certificate, when an intermediate certificate of the certificate chain is found in a database and associated with a low level of trust, wherein a medium level of trust is assigned to the end certificate, when at least one intermediate certificate of the certificate chain is found in the database and associated with a medium level of trust, and none of the intermediate certificates has a low level of trust, wherein a high level of trust is assigned to the end certificate when all intermediate certificates of the certificate chain that are found in the database are associated with a high level of trust; wherein intermediate certificate authorities are discredited by assigning a lower level of trust in the database based on a number of malicious files being signed by end certificates containing the intermediate certificate in their chains; and performing an antivirus checking method on the file based on the assigned level of trust of the end certificate of the file, wherein one or more of heuristic analysis, emulation, and blocking execution is performed on the file having an end certificate with an assigned low level of trust. constructing the certificate chain from the end certificate; and traversing the certificate chain starting from the end certificate; wherein a low level of trust is assigned to the end certificate, when an intermediate certificate of the certificate chain is found in a database and associated with a low level of trust, wherein a medium level of trust is assigned to the end certificate, when at least one intermediate certificate of the certificate chain is found in the database and associated with a medium level of trust, and none of the intermediate certificates has a low level of trust, wherein a high level of trust is assigned to the end certificate when all intermediate certificates of the certificate chain that are found in the database are associated with a high level of trust; wherein intermediate certificate authorities are discredited by assigning a lower level of trust in the database based on a number of malicious files being signed by end certificates containing the intermediate certificate in their chains; and performing an antivirus checking method on the file based on the assigned level of trust of the end certificate of the file, wherein one or more of heuristic analysis, emulation, and blocking execution is performed on the file having an end certificate with an assigned low level of trust.