iOS VPN சுயவிவரம்: கடவுச்சொல் அல்ல, passwordReference
சாவிக்கொத்து மேற்கோள் ஒரு கைப்பிடி, ரகசியம் அல்ல. பைட்டுகளை அனுப்புவது -50 பிழை, மறுதொடக்கத் தோல்வி மற்றும் சேமித்த VPN சுயவிவரங்களில் சுழற்சிப் பொறியை விளக்குகிறது.
நீங்கள் ஒரு சுயவிவரத்தை நிறுவுகிறீர்கள், சுரங்கப்பாதை மேலெழுகிறது, எல்லாம் முடிந்ததுபோல் தெரிகிறது. பின்னர் தொலைபேசி மறுதொடக்கம் ஆகிறது, on-demand முன்னணியில் பயன்பாடு இல்லாமல் இணைப்பை எழுப்புகிறது, சுரங்கப்பாதை தொடங்க மறுக்கிறது. சுயவிவரம் இன்னும் அங்கேயே உள்ளது, கடவுச்சொல்லும் இன்னும் சரியாக உள்ளது, அதனால்தான் இந்தத் தோல்வி மக்களை தவறான இடத்தில் தேட வைக்கிறது. Network Extension உங்கள் ரகசியத்தை சுயவிவரத்திலிருந்து படிக்க முடியாது: தானே தீர்க்கக்கூடிய சாவிக்கொத்து மேற்கோள் அதற்குத் தேவை.
கீழேயுள்ள வழிகாட்டி, மேற்கோளை உருவாக்கும் வினவலிலிருந்து அதைச் சோதிக்கும் மறுதொடக்கம் வரை, அந்த ஒப்படைப்பு வழியாக ஒரு இணைப்பு முயற்சியைப் பின்தொடர்கிறது.
சுயவிவரம் கைப்பிடியைச் சேமிக்கிறது, ரகசியத்தை அல்ல
NEVPNProtocol passwordReference மற்றும் sharedSecretReference-ஐ ஒரு காரணத்திற்காக வெளிப்படுத்துகிறது. டீமன் சுரங்கப்பாதையைத் தொடங்கும்போது அது உங்கள் செயல்முறைக்குள் இயங்காமல் இருக்கலாம், எனவே உங்கள் குறியீட்டை அழைத்து கடவுச்சொல் கேட்க முடியாது. அது சாவிக்கொத்தின் நிரந்தர மேற்கோளைப் படித்து, தன் சூழலில் தீர்த்து, உருப்படியைத் தானே கொண்டுவருகிறது.
அந்த மேற்கோளை சாவிக்கொத்திடம் கேட்டு நீங்கள் உருவாக்குகிறீர்கள், இது தரவைக் கேட்பதிலிருந்து வேறுபட்ட கோரிக்கை:
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrService as String: "vpn-credentials",
kSecAttrAccount as String: "user",
kSecReturnPersistentRef as String: true,
kSecMatchLimit as String: kSecMatchLimitOne
]திருப்பிய வஸ்துவை நெறிமுறைக்குக் கொடுங்கள், உருப்படியின் தரவை அல்ல. நடைமுறையில் சுயவிவரம் ரகசியம் எங்கு வாழ்கிறது என்பதைப் பதிவு செய்கிறது, அதனால்தான் உள்ளமைவின் காப்புப்பிரதி கடவுச்சொல்லை அமைதியாக plist-க்கு நகலெடுக்காது.
API ஏன் -50 என்று பதிலளிக்கிறது
errSecParam என்பது கோரிக்கை அல்லது மதிப்பு அந்தச் செயல்பாட்டிற்கு தவறாக உருவாக்கப்பட்டது என்பதாகும், மேற்கோள் மற்றும் தரவுக் கோரிக்கைகள் கலக்கும்போது அதிகம் காணப்படும் பிழை அதுதான். பெறும் குறியீடு மேற்கோளை எதிர்பார்க்கும்போது தரவைக் கேட்பது, passwordReference-க்கு மூல பைட்டுகளை ஒதுக்குவது, அல்லது பயன்பாடு பயன்படுத்த முடியாத அணுகல் குழுவுடன் வினவுவது, எல்லாமே அதை உருவாக்குகின்றன.
சுற்று நூலகங்கள் இதற்கு அழைக்கின்றன. பைட்டுகளைத் திருப்பித் தரும் உதவியாளர் மேற்கோளைத் திருப்பித் தருவதற்கு மாற்றாகாது, எனவே சரிசெய்தல் பொதுவாக மற்றொரு கடவுச்சொல் அல்ல, மற்றொரு வினவல்.
அதே பொருந்தாமை புகார் இல்லாமல் சேமிக்கப்பட்டு பின்னர் இணைக்க முடியாத சுயவிவரத்தை விளக்குகிறது: சேமிக்கப்பட்டது ஒரு blob, கைப்பிடி அல்ல, டீமனுக்கு தீர்க்க எதுவும் இல்லை.
நல்ல சேமிப்பு, இணைக்கும்போது தோல்வி
சேமிப்பு உங்கள் பயன்பாட்டின் சூழலைப் பயிற்சி செய்கிறது. இணைப்பு டீமனுடையதை, இரண்டுக்கும் ஒரே அணுகல் இல்லை. எனவே ஒரு சுயவிவரம் உருவகப்படுத்தியில் செய்யும் ஒவ்வொரு சோதனையையும் கடந்து முதல் on-demand தொடக்கத்தில் தோல்வியடையலாம்.
மறுதொடக்க அறிகுறியின் வடிவமும் இதுதான்: பயன்பாடு திறந்திருக்கும்வரை வேலை செய்கிறது, முறைமை தானே சுரங்கப்பாதையைத் தொடங்கும்போது இறக்கிறது.
வழங்குவதற்கு முன் பின்னணிப் பாதையை வேண்டுமென்றே சோதியுங்கள். பயன்பாடு மூடியிருக்கும்போது on-demand இணைப்பைத் தூண்டி, பின்னர் பயன்பாட்டின் பதிவு அல்ல, சாதனத்தின் பணியகத்தைப் படியுங்கள், ஏனெனில் தோல்வியை மேற்கோளைத் தீர்க்க முயன்ற செயல்முறையே பதிவு செய்கிறது. பணியகம் டீமன் உருப்படியை நிராகரிப்பதைக் காட்டினால், மேற்கோள் சரியானது, பிரச்சினை உருப்படியின் அணுகல்தன்மை.
மறுதொடக்கம் வேலை செய்யுமா என்பதை அணுகல்தன்மை தீர்மானிக்கிறது
சுரங்கப்பாதையைத் தொடங்கும் எந்த முறைமைச் செயல்முறைக்கும் உருப்படி படிக்கக்கூடியதாக இருக்க வேண்டும், பயன்பாடு முன்னணியில் இருப்பதை விட இது பரந்த பார்வையாளர்கள். அந்தக் கட்டுப்பாடு உங்களுக்காக அணுகல்தன்மை பண்பைத் தேர்ந்தெடுக்கிறது. முதல் திறப்புவரை பாதுகாக்கப்பட்ட உருப்படி சாதனம் ஒருமுறை திறந்தபின் பின்னணித் தொடக்கத்திற்குக் கிடைக்கும்; சாதனம் இப்போதே திறந்திருக்க வேண்டும் எனக் கோரும் உருப்படி கிடைக்காது.
கடினமான வகுப்பைத் தேர்ந்தெடுப்பது கவர்ச்சிகரமானது, பூட்டிய தொலைபேசியில் on-demand சுயவிவரத்தை உடைப்பது அதுதான்.
வகுப்பை மாற்றியபின் ஏற்கனவே உள்ள உருப்படியின் பண்புகளைத் திருத்தாமல் உருப்படியை மீண்டும் உருவாக்கி, பின்னர் புதிய மேற்கோளுடன் நெறிமுறையை மீண்டும் சேமியுங்கள். ஏற்கனவே உள்ள உருப்படியில் பண்பு மாற்றங்கள் ஆவணங்கள் குறிப்பிடும் நடத்தையை எப்போதும் தருவதில்லை, மீண்டும் கட்டப்பட்ட உருப்படி சந்தேகத்தை நீக்குகிறது.
சுழற்சி என்பது சேமித்த சுயவிவரங்கள் அழுகும் இடம்
சாவிக்கொத்தில் கடவுச்சொல்லை மாற்றுவது சேமித்த சுயவிவரம் எதைச் சுட்டுகிறது என்பதைத் தானாக மாற்றாது. உருப்படியை நீக்குவது மோசம்: சுயவிவரம் இனி இல்லாத ஒன்றிற்கான மேற்கோளை வைத்திருக்கிறது, தோல்வி அங்கீகார மறுப்புபோல் தெரிகிறது.
ஒரே வரிசையில் சுழற்றுங்கள். உருப்படியைப் புதுப்பியுங்கள், புதிய நிரந்தர மேற்கோளை வினவுங்கள், நெறிமுறையை மீண்டும் சேமியுங்கள், பின்னர் பயன்பாடு மூடியிருக்கும்போது இணைந்து டீமன் இன்னும் அதைத் தீர்க்க முடியும் என நிரூபியுங்கள். பயனர் கடவுச்சொல்லையும் பகிரப்பட்ட ரகசியத்தையும் தனித்தனி உருப்படிகளில் வையுங்கள், ஒவ்வொன்றும் அதன் சொந்த அட்டவணையின்படி சுழலட்டும், வினவல் அகராதியையோ மேற்கோளையோ ஒருபோதும் பதிவு செய்யாதீர்கள். கைப்பிடி ரகசியம் அல்ல, ஆனால் அதற்கான வரைபடம்.