SQL Server Development Bookmark and Share   
 index > SQL Server Security > Certificates expiration Date
 

Certificates expiration Date

Hi There

This may seem like a stupid question but i am trying to get the hang of the new security model.

Ihave not really heard anything mentioned about certficate expiration date when it comes to creating certificates for keys or service broker endpoints etc.

We have created certificates for keys and service broker endpoints, now what exactly happens when the expiration date, by default 1 year i think is reached, will we no longer be able to decrypt encrypted data and will the service broker endpoints stop working etc ?

Or is this expiration date when the certificate can no longer be used to create security objects ? And all security objects already created with this certificate will always work ?

In other words is there ever danger that keys and endpoints or basically any object referrencing this certificatewill just suddenly stop working one day, or will all objects work indefinately regardless of an certificate/objects expiration date ?

Thanx

Dietz  Monday, July 24, 2006 11:51 AM

The certificate expiration date is not enforced by SQL Server directly. These certificates can still be used for data encrypting, decrypting, signing, verifying signatures or object creation/usage in SQL Server.

Service Broker will honor the expiration date and after a certificate has expired it cannot be used (See “Certificates for Dialog Security�http://msdn2.microsoft.com/en-us/library/ms166117.aspx ). For more information on Service broker usage of certificates I would recommend to visit Service Broker Conversations webpage at http://blogs.msdn.com/remusrusanu/.

While SQL Server itself will not prevent you from using an expired certificate, it is up to the application developers to enforce or suggest the expiration, and use the available usage of expired certificates as a disaster recovery tool rather than as a rule. I strongly recommend generating new certificates to substitute expired ones.

Thanks,

-Raul Garcia

SDE/T

SQL Server Engine

Raul Garcia - MS  Monday, July 24, 2006 6:59 PM

The certificate expiration date is not enforced by SQL Server directly. These certificates can still be used for data encrypting, decrypting, signing, verifying signatures or object creation/usage in SQL Server.

Service Broker will honor the expiration date and after a certificate has expired it cannot be used (See “Certificates for Dialog Security�http://msdn2.microsoft.com/en-us/library/ms166117.aspx ). For more information on Service broker usage of certificates I would recommend to visit Service Broker Conversations webpage at http://blogs.msdn.com/remusrusanu/.

While SQL Server itself will not prevent you from using an expired certificate, it is up to the application developers to enforce or suggest the expiration, and use the available usage of expired certificates as a disaster recovery tool rather than as a rule. I strongly recommend generating new certificates to substitute expired ones.

Thanks,

-Raul Garcia

SDE/T

SQL Server Engine

Raul Garcia - MS  Monday, July 24, 2006 6:59 PM

Hi Raul,

Looking at the datestamp of this thread, is this still valid?

"The certificate expiration date is not enforced by SQL Server directly. These certificates can still be used for data encrypting, decrypting, signing, verifying signatures or object creation/usage in SQL Server. "

Our certificate is about to expire in a month.

Thanks!

matilda16  Monday, October 20, 2008 6:51 PM

Yes. This information is still valid. In any case I would still recommend thinking about regenerating any certificates you may use for encryption (i.e. SYMMETRIC KEY protection), but not because they will stop working.

It is always good to have a policy about the lifetime of cryptographic material, and the longer a key is in use, the greater the chances for an adversary of breaking it.

I hope this information helps,

-Raul Garcia

SDE/T

SQL Server Engine

Raul Garcia - MS  Tuesday, October 21, 2008 3:15 AM
Since the question is also about SSB endpoints and dialog security, I can answer this (and directly contradict Raul in the process): SSB does validate the certificate valid from and expiry date. SSB will refuse to use a certificate that is either expired or not yet valid. As the certificate expiration date approaches, you need to plan for replacing the certificates, both at endpoint and at service level. Luckily this can be achieved without any disturbance in the SSB service up time.
BTW this applies as well to mirroring endpoints using certificates authentication.
Remus Rusanu  Tuesday, October 21, 2008 4:08 AM
Just to clarify: if your certificates are used for code signing, encryption and other such (ie. not related to Service Broker endpoints or services) then what Raul said is true and SQL Server does not enforce the certificate valid from and expiry date.
Remus Rusanu  Tuesday, October 21, 2008 4:13 AM

And to clarify further, Raul's original answer from 2006 continues to be valid and it includes the Service Broker exception that Remus points out.

Wink

Laurentiu Cristofor  Wednesday, October 22, 2008 1:02 AM
Thanks for clarifying everyone!

matilda16  Thursday, October 23, 2008 7:59 PM

You can use google to search for other answers

Custom Search

More Threads

• How is the sid set in the sysuser table?
• SQL Login Enforce Password Policy
• How To: Authenticate trusted logins without login in and out of Windows.
• Row-level Security: Permissions required on base table?
• Is there a way of seeing the tree of permissions for a securiable for a login?
• Maintaining Security
• IDENT_CURRENT permissions
• SQLServer 2005, Linked Server, authentication
• SQL Patching
• Auditing Reading of an individual table