code: func ReadIdentityFromKeyPair(keys *PackedKeys) (*Identity, error) {
  	identity, err := ReadSSHIdentityFromKeyPair(keys.Key, keys.Cert)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	if len(keys.SSHCACerts) != 0 {
  		identity.SSHCACertBytes = keys.SSHCACerts
  	}
  
  	if len(keys.TLSCACerts) != 0 {
  		// Parse the key pair to verify that identity parses properly for future use.
  		i, err := ReadTLSIdentityFromKeyPair(keys.Key, keys.TLSCert, keys.TLSCACerts)
  		if err != nil {
  			return nil, trace.Wrap(err)
  		}
  		identity.XCert = i.XCert
  		identity.TLSCertBytes = keys.TLSCert
  		identity.TLSCACertsBytes = keys.TLSCACerts
  	}
  
  	return identity, nil
  }
docs: // ReadIdentityFromKeyPair reads SSH and TLS identity from key pair.