Explanation of the authentication procedure when using signed certificates

I am using AWS IoT with X.509 self-signed certificates for authentication. To communicate with the cloud I use MQTT.

On my device side, I have a device certificate ( deviceCert.crt ) and the device certificate private key ( deviceCert.key ) , and also the root CA certificate from Amazon (root-CA.crt)

The device certificate is of course already registered on the AWS cloud.

I realize when using an MQTT client on the device that it requires the device to contain both the device certificate and the device private key during authentication.

Why isn’t the private key enough to have on the device? My guess was that the device would sign something with the device private key , and on the server end, it would use the public key from the device certificate (already stored there) to verify the signature.

Or does the device send the device certificate to the server and the server compares it with the one it has stored?

What happens exactly here?

No “Use system certificates” when trying to connect to WiFi

I am having a problem connecting to my university Eduroam WiFi.

If I understand correctly, in CA certificate I am supposed to select CA certificate if it is there or Use system certificate and input my university domain.

But, I only have: Select certificate or Don't validate. And if I click Select certificate, nothing is changing, there is not a Domain field appearing like I think it should (and where I could the domain name) (see screenshot).

enter image description here

Can you help?

Workflow Manager Auto Generated Certificates

I have SharePoint Farm with 2 Web front end servers, 2 application servers, and Database server. I have installed and configure Workflow manager on one of the application server with auto generated certificates.I have added one the certificate to SharePoint Server which host Central admin by going to the SharePoint Management shell and running the New-SPTrustedRootAuthority cmdlet.Do I have to add all four certificates from workflow manager server to all SharePoint servers in a farm? Please advise.

Thanks Ronak

Standard practice for managing expired and revoked certificates used for signatures?

Curious to know what the standard practice is to maintain old/revoked certificates that were previously used to sign documents that must be verified in the future.

For example, suppose there is a service that signs documents and they have a valid SSL certificate valid for one year. The service signs documents 0-1000 during the first year, 1000-2000 the second year, etc. (to keep things simple). After ten years, there will be a new certificate used for documents 9000-10000, however customers need to verify any/all of the previous documents signed with old keys.

So, the private key can be taken off the server to protect it from compromise, but the public key will need to remain for verification through the service itself (and the customers can also keep a copy of the public key for their own verification). In this case, does the service either:

a. loop through all the previous public keys to see if one fits
b. re-sign all of the old signatures each time a new private key is purchased
c. keep track of which documents were signed with which particular key?
d. another option not mentioned here

Also included is the possibility that in year 5, the private key used to sign documents 4000-4500 has been revoked, so a new key was needed for 4500-5000 (after any security issues were resolved).

Why would a school need to install certificates on student laptops?

This question indicates parents are to buy laptops for a school to install software and certificates. I am seeking to understand reasons for site certificates installation:

  1. Why would site certificates be installed?
  2. What is the potential for issues with the practice?

I am seeking to understand both legitimate (constructive) reasons for certificates and potential for misuse / abuse. It is unclear from the thread how schools could somehow decrypt traffic with certificates.

Logstash isn’t accepting the self signed certificates and throws a sslv3 alert handshake failure

I have set up an elsatic stack in my laptop and I have configured full stack (filebeat, logstash, elasticsearch and kibana) in it. But now I need to connect filebeat and logstash in a secure manner using SSL. But after using the self signed certificates taht I have created on my own it throws the following error when I try to verify the certificate with following curl request

curl -v –cacert ca.crt https://localhost:5044

The error –>

  • error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
  • stopped the pause stream!
  • Closing connection 0 curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure

It gives the above sslv3 handshake failure.

I have followed the following guideline to create the self signed certificate that can be configured with logstash https://benjaminknofe.com/blog/2018/07/08/logstash-authentication-with-ssl-certificates/ I have followed those steps that suitable to my implementation.

Here is the full handshake output that i have received from the curl request

* Rebuilt URL to: https://localhost:5044/ *   Trying 127.0.0.1... * TCP_NODELAY set * Connected to localhost (127.0.0.1) port 5044 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: *   CAfile: ca.crt   CApath: /etc/ssl/certs * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Request CERT (13): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Certificate (11): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS alert, Server hello (2): * error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake        failure * stopped the pause stream! * Closing connection 0 curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure 

Here is my logstash.config file tha used in openssl key creation. I have given common name as localhost because that’s how I mapped in /etc/hosts 127.0.0.1 localhost

[req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no  [req_distinguished_name] countryName                     = XX stateOrProvinceName             = XXXXXX localityName                    = XXXXXX postalCode                      = XXXXXX organizationName                = XXXXXX organizationalUnitName          = XXXXXX commonName                      = localhost emailAddress                    = XXXXXX  [v3_req] keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names  [alt_names] DNS.1 = localhost 

logstash input plugin

input { beats { port => 5044 ssl => true ssl_certificate_authorities => ["/home/ssl/ca.crt"] ssl_certificate => "/home/ssl/logstash.crt" ssl_key => "/home/ssl/logstash.key" #ssl_verify_mode => "force_peer" client_inactivity_timeout => 1000 } }

I expected to have configured ssl certificates that are accepted by logstash. But they are not accepted when I try to verify them with the curl reuqests

SQL SP creating certificates for shipping

We ship large spools of copper wire and pallets of copper rod that have to meet specific chemical and mechanical requirements, this is what must be put on the certifications. I created an SP which builds and then runs a SQL query. This query is pulling in data from several tables and 2 DBs for creating certificates for shipping. Because I don’t choose what goes on the certifications I have to pull all the data, even if it ends up not being used. Then someone else actually decides what they want and that is what gets put on the certs. That is why the SP creates a query dynamically. I have tried to limit the amount of data that has to be pulled.

Right now this is taking between 50 to 110 seconds to run. This is too long as we have a lot of shipments that go out and need to run this a lot. I would like to try getting it down to about 15 seconds if that is possible, but I have run out of ideas on what else I can try.

I have played around with Indexes and have added (and removed) clustered and non-clustered indexes on most of the tables involved. I’ve reorganized that building of the query and created the #TEMP table at the top to help with running faster, but nothing has made a big enough difference.

Here is the SP query:

@PackingSlipId varchar(25) = '', @PackSales int = 0, -- 0 = Packingslip, 1 = SalesId @PrintSQL int = 0 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;  -- Insert statements for procedure here  declare @tsql varchar(max) declare @SalesName varchar(150)  SELECT ProductionId, Max(ID) AS Id INTO #TEMP FROM sdiProductionChemistry GROUP BY ProductionId  --Set the SalesName for use in the dynamic sql below set @SalesName = case when @PackSales = 0 THEN (         select distinct st.SALESNAME         FROM InventTrans                        AS IT         LEFT OUTER JOIN InventTable             AS I    ON IT.ItemId            = I.ItemId         LEFT OUTER JOIN InventDim               AS ID   ON IT.INVENTDIMID       = ID.InventDimId         LEFT OUTER JOIN SalesTable              AS ST   ON IT.TransRefId        = ST.SalesId         LEFT OUTER JOIN SDICustomerSpecs        AS SCS  ON ST.CustAccount       = SCS.CustomerId    AND IT.ItemId = SCS.ItemId         LEFT OUTER JOIN SDIInventory            AS SI   ON ID.InventBatchId     = SI.BatchId         LEFT OUTER JOIN SDIProduction           AS P    ON SI.ProductionId      = P.Id         LEFT OUTER JOIN #Temp                           ON P.Id                 = #Temp.PRODUCTIONID         LEFT OUTER JOIN SDIPRODUCTIONCHEMISTRY  AS SPC  ON #Temp.PRODUCTIONID   = SPC.ProductionId  AND SPC.Id = #Temp.Id         WHERE IT.PackingSlipId = @PackingSlipId)     when @PackSales = 1 then (         select distinct st.SALESNAME         FROM InventTrans                        AS IT         LEFT OUTER JOIN InventTable             AS I    ON IT.ItemId            = I.ItemId         LEFT OUTER JOIN InventDim               AS ID   ON IT.INVENTDIMID       = ID.InventDimId         LEFT OUTER JOIN SalesTable              AS ST   ON IT.TransRefId        = ST.SalesId         LEFT OUTER JOIN SDICustomerSpecs        AS SCS  ON ST.CustAccount       = SCS.CustomerId    AND IT.ItemId = SCS.ItemId         LEFT OUTER JOIN SDIInventory            AS SI   ON ID.InventBatchId     = SI.BatchId         LEFT OUTER JOIN SDIProduction           AS P    ON SI.ProductionId      = P.Id         LEFT OUTER JOIN #Temp                           ON P.Id                 = #Temp.PRODUCTIONID         LEFT OUTER JOIN SDIPRODUCTIONCHEMISTRY  AS SPC  ON #Temp.PRODUCTIONID   = SPC.ProductionId  AND SPC.Id = #Temp.Id         WHERE IT.TransRefId = @PackingSlipId) end  set @tsql = ' SELECT DISTINCT P.Id,     ID.InventBatchId AS CoilId, IT.DatePhysical AS DlvDate,'         IF (@PackSales) = 1             SET @tsql = @tsql   +  '''' + @PackingSlipId + ''' AS SalesOrderId, IT.PackingSlipId As PackingSlipId,'         ELSE             SET @tsql = @tsql   + 'IT.TransRefId AS SalesOrderId, ''' + @PackingSlipId + ''' As PackingSlipId,' SET @tsql = @tsql   + '      CASE         WHEN NOT SI.Diameter IS NULL THEN SI.Diameter         ELSE xSI.Diameter END AS Diameter,     SI.Leco, SI.Tensilestrength,      CASE WHEN NOT SI.E200 IS NULL AND SI.E200 > 0 THEN convert(varchar,convert(numeric(10,1),SI.E200))         WHEN NOT xSI.Elongation IS NULL AND xSI.Elongation > 0 THEN convert(varchar,convert(numeric(10,1),xSI.Elongation))         ELSE ''> 35'' END AS E200,      CASE WHEN NOT P.HeatNumber IS NULL THEN P.HeatNumber         ELSE xSI.BreakDownId END AS HeatNumber,       --xSA.Heatnumber as SpectroHeatNumber,      CASE WHEN NOT SI.NetWeight IS NULL THEN SI.NetWeight         ELSE xSI.GrossWeight - xSI.TareWeight END AS NetWeight,      CASE          WHEN SI.CertConductivity = 0 THEN             SI.IACS_REAL         WHEN SI.CertConductivity > 0 THEN             SI.CertConductivity      END AS IACS, (SPC.CU + (SPC.AG / 10000)) AS CUAG,     ST.SalesName, ST.PurchOrderFormNum AS CustomerPO,     xSI.Grm,     -- Customer Spec Min/Max Fields     SCS.CUAGMin, SCS.CUAGMax, SCS.DiameterMin, SCS.DiameterMax, SCS.ElongMin, SCS.ElongMax,     SCS.StrengthMin, SCS.StrengthMax, SCS.OxygenMin, SCS.OxygenMax, SCS.ConductivityMin, SCS.ConductivityMax,     SCS.GrmMin, SCS.GrmMax, SCS.PopMin AS OxideMin, SCS.PopMax AS OxideMax,     SCS.ZnMax, SCS.ZnMin, SCS.PbMax, SCS.PbMin, SCS.SnMax, SCS.SnMin, SCS.PMax, SCS.PMin, SCS.MnMax, SCS.MnMin,     SCS.FeMax, SCS.FeMin, SCS.NiMax, SCS.NiMin, SCS.SiMax, SCS.SiMin, SCS.MgMax, SCS.MgMin, SCS.CrMax, SCS.CrMin,     SCS.TeMax, SCS.TeMin, SCS.AsMax, SCS.AsMin, SCS.SeMax, SCS.SeMin, SCS.SbMax, SCS.SbMin, SCS.CdMax, SCS.CdMin,     SCS.BiMax, SCS.BiMin, SCS.AgMax, SCS.AgMin, SCS.CoMax, SCS.CoMin, SCS.AlMax, SCS.AlMin, SCS.SMax, SCS.SMin,     SCS.BeMax, SCS.BeMin, SCS.HRFMax, SCS.HRFMin,      I.ItemName     -- Element values to show     '      --/* if(SELECT ZnShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Zn' ELSE     SET @tsql = @tsql + ', 0 Zn' if(SELECT PbShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Pb' ELSE     SET @tsql = @tsql + ', 0 Pb' if(SELECT SnShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Sn' ELSE     SET @tsql = @tsql + ', 0 Sn' if(SELECT PShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.P' ELSE     SET @tsql = @tsql + ', 0 P' if(SELECT MnShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Mn' ELSE     SET @tsql = @tsql + ', 0 Mn' if(SELECT FeShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Fe' ELSE     SET @tsql = @tsql + ', 0 Fe' if(SELECT NiShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Ni' ELSE     SET @tsql = @tsql + ', 0 Ni' if(SELECT SiShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Si' ELSE     SET @tsql = @tsql + ', 0 Si' if(SELECT MgShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Mg' ELSE     SET @tsql = @tsql + ', 0 Mg' if(SELECT CrShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Cr' ELSE     SET @tsql = @tsql + ', 0 Cr' if(SELECT TeShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Te' ELSE     SET @tsql = @tsql + ', 0 Te' if(SELECT AsShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.As' ELSE     SET @tsql = @tsql + ', 0 [As]' if(SELECT SeShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Se' ELSE     SET @tsql = @tsql + ', 0 Se' if(SELECT SbShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Sb' ELSE     SET @tsql = @tsql + ', 0 Sb' if(SELECT CdShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Cd' ELSE     SET @tsql = @tsql + ', 0 Cd' if(SELECT BiShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Bi' ELSE     SET @tsql = @tsql + ', 0 Bi' if(SELECT AgShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Ag' ELSE     SET @tsql = @tsql + ', 0 Ag' if(SELECT CoShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Co' ELSE     SET @tsql = @tsql + ', 0 Co'  if(SELECT AlShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Al' ELSE     SET @tsql = @tsql + ', 0 Al' if(SELECT SShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.S' ELSE     SET @tsql = @tsql + ', 0 S' if(SELECT BeShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', xSA.Be' ELSE     SET @tsql = @tsql + ', 0 Be' if(SELECT HRFShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ', 0 HRF' ELSE     SET @tsql = @tsql + ', 0 HRF' if(SELECT OxideShow FROM SDICustomerSpecSheets where CustomerName = @SalesName) = -1561783295     SET @tsql = @tsql + ',  CASE WHEN SI.POP_EXTERNAL < SI.POP_INTERNAL THEN SI.POP_EXTERNAL                                 WHEN SI.POP_INTERNAL < SI.POP_EXTERNAL THEN SI.POP_INTERNAL                                 ELSE 0 END AS SurfaceOxide' ELSE     SET @tsql = @tsql + ', 0 SurfaceOxide'  set @tsql = @tsql + ' -- What to show , case SCSS.ZnShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as ZnShow , case SCSS.PbShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as PbShow , case SCSS.SnShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SnShow , case SCSS.PShow               when -1561783295 then 1 when -1561783296 then 0 else 0 end as PShow , case SCSS.MnShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as MnShow , case SCSS.FeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as FeShow , case SCSS.NiShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as NiShow , case SCSS.SiShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SiShow , case SCSS.MgShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as MgShow , case SCSS.CrShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as CrShow , case SCSS.TeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as TeShow , case SCSS.AsShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as AsShow , case SCSS.SeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SeShow , case SCSS.SbShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SbShow , case SCSS.CdShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as CdShow , case SCSS.BiShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as BiShow , case SCSS.AgShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as AgShow , case SCSS.CoShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as CoShow , case SCSS.AlShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as AlShow , case SCSS.SShow               when -1561783295 then 1 when -1561783296 then 0 else 0 end as SShow , case SCSS.BeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as BeShow , case SCSS.HRFShow             when -1561783295 then 1 when -1561783296 then 0 else 0 end as HRFShow , case SCSS.OxideShow           when -1561783295 then 1 when -1561783296 then 0 else 0 end as OxideShow , case SCSS.CuAgShow            when -1561783295 then 1 when -1561783296 then 0 else 0 end as CuAgShow , case SCSS.DiameterShow        when -1561783295 then 1 when -1561783296 then 0 else 0 end as DiameterShow , case SCSS.ElongationShow      when -1561783295 then 1 when -1561783296 then 0 else 0 end as ElongationShow , case SCSS.StrengthShow        when -1561783295 then 1 when -1561783296 then 0 else 0 end as StrengthShow , case SCSS.OxygenShow          when -1561783295 then 1 when -1561783296 then 0 else 0 end as OxygenShow , case SCSS.ConductivityShow    when -1561783295 then 1 when -1561783296 then 0 else 0 end as ConductivityShow , case SCSS.GRMShow             when -1561783295 then 1 when -1561783296 then 0 else 0 end as GRMShow'      --*/     set @tsql = @tsql + ' FROM InventTrans AS IT LEFT OUTER JOIN InventTable                             AS I    ON IT.ItemId            = I.ItemId LEFT OUTER JOIN InventDim                               AS ID   ON IT.INVENTDIMID       = ID.InventDimId LEFT OUTER JOIN SalesTable                              AS ST   ON IT.TransRefId        = ST.SalesId LEFT OUTER JOIN SDICustomerSpecs                        AS SCS  ON ST.CustAccount       = SCS.CustomerId AND IT.ItemId = SCS.ItemId LEFT OUTER JOIN SDIInventory                            AS SI   ON ID.InventBatchId     = SI.BatchId LEFT OUTER JOIN SDICustomerSpecSheets                   AS SCSS ON SCSS.CustomerName    = ST.SalesName LEFT OUTER JOIN LAFARGA.LaFargaProd.dbo.BreakdownItem   AS xSI  ON ID.InventBatchId     = xSI.BatchId LEFT OUTER JOIN SDIProduction                           AS P    ON SI.ProductionId      = P.Id LEFT OUTER JOIN #Temp                                   AS T    ON P.Id                 = T.PRODUCTIONID LEFT OUTER JOIN SDIPRODUCTIONCHEMISTRY                  AS SPC  ON T.PRODUCTIONID   = SPC.ProductionId AND SPC.Id = T.Id LEFT OUTER JOIN LAFARGA.LaFargaProd.dbo.vSpectroAssays  AS xSA  ON xSA.BatchID          = ID.InventBatchId WHERE ' IF (@PackSales) = 1     SET @tsql = @tsql   + 'IT.TransRefId = ''' + @PackingSlipId + '''' ELSE     SET @tsql = @tsql   + 'IT.PackingSlipId = ''' + @PackingSlipId  + ''''  SET @tsql = @tsql   + ' ORDER BY ID.InventBatchId'  IF (@PrintSQL = 1) BEGIN      print @tsql END IF (@PrintSQL = 0) BEGIN     execute (@tsql) END  Drop Table #Temp END 

Then here is what this creates and runs at the end (or prints if I’m testing):

SELECT DISTINCT P.Id,     ID.InventBatchId AS CoilId, IT.DatePhysical AS DlvDate,IT.TransRefId AS SalesOrderId, 'RPS115898' As PackingSlipId,      CASE         WHEN NOT SI.Diameter IS NULL THEN SI.Diameter         ELSE xSI.Diameter END AS Diameter,     SI.Leco, SI.Tensilestrength,      CASE WHEN NOT SI.E200 IS NULL AND SI.E200 > 0 THEN convert(varchar,convert(numeric(10,1),SI.E200))         WHEN NOT xSI.Elongation IS NULL AND xSI.Elongation > 0 THEN convert(varchar,convert(numeric(10,1),xSI.Elongation))         ELSE '> 35' END AS E200,      CASE WHEN NOT P.HeatNumber IS NULL THEN P.HeatNumber         ELSE xSI.BreakDownId END AS HeatNumber,       --xSA.Heatnumber as SpectroHeatNumber,      CASE WHEN NOT SI.NetWeight IS NULL THEN SI.NetWeight         ELSE xSI.GrossWeight - xSI.TareWeight END AS NetWeight,      CASE          WHEN SI.CertConductivity = 0 THEN             SI.IACS_REAL         WHEN SI.CertConductivity > 0 THEN             SI.CertConductivity      END AS IACS, (SPC.CU + (SPC.AG / 10000)) AS CUAG,     ST.SalesName, ST.PurchOrderFormNum AS CustomerPO,     xSI.Grm,     -- Customer Spec Min/Max Fields     SCS.CUAGMin, SCS.CUAGMax, SCS.DiameterMin, SCS.DiameterMax, SCS.ElongMin, SCS.ElongMax,     SCS.StrengthMin, SCS.StrengthMax, SCS.OxygenMin, SCS.OxygenMax, SCS.ConductivityMin, SCS.ConductivityMax,     SCS.GrmMin, SCS.GrmMax, SCS.PopMin AS OxideMin, SCS.PopMax AS OxideMax,     SCS.ZnMax, SCS.ZnMin, SCS.PbMax, SCS.PbMin, SCS.SnMax, SCS.SnMin, SCS.PMax, SCS.PMin, SCS.MnMax, SCS.MnMin,     SCS.FeMax, SCS.FeMin, SCS.NiMax, SCS.NiMin, SCS.SiMax, SCS.SiMin, SCS.MgMax, SCS.MgMin, SCS.CrMax, SCS.CrMin,     SCS.TeMax, SCS.TeMin, SCS.AsMax, SCS.AsMin, SCS.SeMax, SCS.SeMin, SCS.SbMax, SCS.SbMin, SCS.CdMax, SCS.CdMin,     SCS.BiMax, SCS.BiMin, SCS.AgMax, SCS.AgMin, SCS.CoMax, SCS.CoMin, SCS.AlMax, SCS.AlMin, SCS.SMax, SCS.SMin,     SCS.BeMax, SCS.BeMin, SCS.HRFMax, SCS.HRFMin,      I.ItemName     -- Element values to show     , 0 Zn, xSA.Pb, 0 Sn, 0 P, 0 Mn, 0 Fe, 0 Ni, 0 Si, 0 Mg, 0 Cr, 0 Te, 0 [As], 0 Se, 0 Sb, 0 Cd, 0 Bi, 0 Ag, 0 Co, 0 Al, 0 S, 0 Be, 0 HRF, 0 SurfaceOxide -- What to show , case SCSS.ZnShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as ZnShow , case SCSS.PbShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as PbShow , case SCSS.SnShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SnShow , case SCSS.PShow               when -1561783295 then 1 when -1561783296 then 0 else 0 end as PShow , case SCSS.MnShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as MnShow , case SCSS.FeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as FeShow , case SCSS.NiShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as NiShow , case SCSS.SiShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SiShow , case SCSS.MgShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as MgShow , case SCSS.CrShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as CrShow , case SCSS.TeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as TeShow , case SCSS.AsShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as AsShow , case SCSS.SeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SeShow , case SCSS.SbShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as SbShow , case SCSS.CdShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as CdShow , case SCSS.BiShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as BiShow , case SCSS.AgShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as AgShow , case SCSS.CoShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as CoShow , case SCSS.AlShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as AlShow , case SCSS.SShow               when -1561783295 then 1 when -1561783296 then 0 else 0 end as SShow , case SCSS.BeShow              when -1561783295 then 1 when -1561783296 then 0 else 0 end as BeShow , case SCSS.HRFShow             when -1561783295 then 1 when -1561783296 then 0 else 0 end as HRFShow , case SCSS.OxideShow           when -1561783295 then 1 when -1561783296 then 0 else 0 end as OxideShow , case SCSS.CuAgShow            when -1561783295 then 1 when -1561783296 then 0 else 0 end as CuAgShow , case SCSS.DiameterShow        when -1561783295 then 1 when -1561783296 then 0 else 0 end as DiameterShow , case SCSS.ElongationShow      when -1561783295 then 1 when -1561783296 then 0 else 0 end as ElongationShow , case SCSS.StrengthShow        when -1561783295 then 1 when -1561783296 then 0 else 0 end as StrengthShow , case SCSS.OxygenShow          when -1561783295 then 1 when -1561783296 then 0 else 0 end as OxygenShow , case SCSS.ConductivityShow    when -1561783295 then 1 when -1561783296 then 0 else 0 end as ConductivityShow , case SCSS.GRMShow             when -1561783295 then 1 when -1561783296 then 0 else 0 end as GRMShow FROM InventTrans AS IT LEFT OUTER JOIN InventTable                             AS I    ON IT.ItemId            = I.ItemId LEFT OUTER JOIN InventDim                               AS ID   ON IT.INVENTDIMID       = ID.InventDimId LEFT OUTER JOIN SalesTable                              AS ST   ON IT.TransRefId        = ST.SalesId LEFT OUTER JOIN SDICustomerSpecs                        AS SCS  ON ST.CustAccount       = SCS.CustomerId AND IT.ItemId = SCS.ItemId LEFT OUTER JOIN SDIInventory                            AS SI   ON ID.InventBatchId     = SI.BatchId LEFT OUTER JOIN SDICustomerSpecSheets                   AS SCSS ON SCSS.CustomerName    = ST.SalesName LEFT OUTER JOIN LAFARGA.LaFargaProd.dbo.BreakdownItem   AS xSI  ON ID.InventBatchId     = xSI.BatchId LEFT OUTER JOIN SDIProduction                           AS P    ON SI.ProductionId      = P.Id LEFT OUTER JOIN #Temp                                   AS T    ON P.Id                 = T.PRODUCTIONID LEFT OUTER JOIN SDIPRODUCTIONCHEMISTRY                  AS SPC  ON T.PRODUCTIONID   = SPC.ProductionId AND SPC.Id = T.Id LEFT OUTER JOIN LAFARGA.LaFargaProd.dbo.vSpectroAssays  AS xSA  ON xSA.BatchID          = ID.InventBatchId WHERE IT.PackingSlipId = 'RPS115898' ORDER BY ID.InventBatchId 

Any help with making these queries run faster would be appreciated. Here is a link to the query execution plan if that will help: Execution Plan

Can certificate signing requests be stored at the server to prolong existing certificates?

I want to build a PKI (public key infrastructure) to host certificates for users. For that to work,

  1. the user has to send me a CSR (certificate signing request)
  2. I have to check the CSR for validity
  3. I create the certificate with the CSR and my intermediate signing certificate

Now I want to prolong the existing certificate. For that I could store the CSR in the database and just repeat step 3.

  • Is this a good idea? (I have the feeling that it is not, but I cannot pinpoint the exact issue with this.)
  • If not, what are good and reliable alternatives? (e.g. I want to keep the certificate valid, even if the user does not log in for a longer time)

Are SSL Certificates Make or Break for New Blogs

Afternoon All (or morning depending where you are),

I've recently started getting back into making blogs as something to stop me watching rubbish TV when i get in from work, my question might be a stupid one, but as this is currently more of a hobby (no ad revenue as of yet, only launched a week ago however) is having an SSL certificate make or break in terms of SEO or general traffic/bounce rate for a new blog? If the answer is yes i have no problem spending the money, i would just rather…

Are SSL Certificates Make or Break for New Blogs