дȫÏîĿÉó²éÎÊÌⲢ·¢²¼ v1.1.9
¸ÄÓñ¾»ú¶ÀÁ¢ CA£¬»ָ´ CLI TLS УÑ飬±£»¤ƾ¾ÝÓëÅäÖò¢·¢±£´档 д Cursor Êý¾ݡ¢»Ự·¾¶¡¢´úÀíÉúÃüÖÜÆڡ¢ģÐÍÇëÇóÓë Skills Îļþ²Ù×÷¡£ Ϊ¶ÀÁ¢ Tab ·þÎñÔö¼ӿͻ§¶˼øȨ£¬Éý¼¶ÒÀÀµÓ빤¾ßÁ´£¬ÍêÉƷ¢²¼ԪÐÅϢͬ²½¡£ Ñé֤£ºÁ½¸ö Go ģ¿éµIJâÊÔ/vet¡¢¹ؼüģ¿é race¡¢ǰ¶˲âÊÔ/Éú²ú¹¹½¨/Éó¼ơ¢ Go ¿ɴï©¶´ɨÃèÓë macOS/Linux ¿ÉÐÐģ¿齻²æ±àÒë¾ùͨ¹ý¡£ Windows ¸ôÀëÆô¶¯ͨ¹ý£»δÍê³ɵĵã»÷ðÑ̺ÍԭÉúƽ̨Ñé֤¼ûÉó²鱨¸档
This commit is contained in:
37
internal/cursor/cert_migration.go
Normal file
37
internal/cursor/cert_migration.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package cursor
|
||||
|
||||
import (
|
||||
"cursor/internal/certs"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// migrateCATrust verifies both sides of the migration. Removing the legacy
|
||||
// trust is necessary because its private key has already been public.
|
||||
func migrateCATrust(cert []byte, trusted func([]byte) (bool, error), migrate func() error) error {
|
||||
current, err := trusted(cert)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
legacy, err := trusted(certs.EmbeddedCACertPEM())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if current && !legacy {
|
||||
return nil
|
||||
}
|
||||
if err := migrate(); err != nil {
|
||||
return err
|
||||
}
|
||||
current, err = trusted(cert)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
legacy, err = trusted(certs.EmbeddedCACertPEM())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !current || legacy {
|
||||
return fmt.Errorf("证书迁移未完成:需要信任本机 CA 并移除旧共享 CA;请重试授权")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user