code: func SCTListFromOCSPResponse(response *ocsp.Response) ([]ct.SignedCertificateTimestamp, error) {
  	// This loop finds the SCTListExtension in the OCSP response.
  	var SCTListExtension, ext pkix.Extension
  	for _, ext = range response.Extensions {
  		// sctExtOid is the ObjectIdentifier of a Signed Certificate Timestamp.
  		sctExtOid := asn1.ObjectIdentifier{1, 3, 6, 1, 4, 1, 11129, 2, 4, 5}
  		if ext.Id.Equal(sctExtOid) {
  			SCTListExtension = ext
  			break
  		}
  	}
  
  	// This code block extracts the sctList from the SCT extension.
  	var sctList []ct.SignedCertificateTimestamp
  	var err error
  	if numBytes := len(SCTListExtension.Value); numBytes != 0 {
  		var serializedSCTList []byte
  		rest := make([]byte, numBytes)
  		copy(rest, SCTListExtension.Value)
  		for len(rest) != 0 {
  			rest, err = asn1.Unmarshal(rest, &serializedSCTList)
  			if err != nil {
  				return nil, cferr.Wrap(cferr.CTError, cferr.Unknown, err)
  			}
  		}
  		sctList, err = DeserializeSCTList(serializedSCTList)
  	}
  	return sctList, err
  }
docs: // SCTListFromOCSPResponse extracts the SCTList from an ocsp.Response,
  // returning an empty list if the SCT extension was not found or could not be
  // unmarshalled.