code: func (s *Session) authenticate(pairing smartcardPairing) error {
  	if !bytes.Equal(s.Wallet.PublicKey, pairing.PublicKey) {
  		return fmt.Errorf("Cannot pair using another wallet's pairing; %x != %x", s.Wallet.PublicKey, pairing.PublicKey)
  	}
  	s.Channel.PairingKey = pairing.PairingKey
  	s.Channel.PairingIndex = pairing.PairingIndex
  	return s.Channel.Open()
  }
docs: // authenticate uses an existing pairing to establish a secure channel.