Application Release Method and Application Release System
By using the connection between the management server and the remote server during the application release process to perform the transmission and deployment of application configuration files, the problem of insufficient security during the application release process is solved and higher security in the installation process is achieved.
Patent Information
- Application Number
- CN202211426402.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-15
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2042-11-15
AI Technical Summary
During the application release process, the user's mobile phone may be hacked, resulting in the application's important files being tampered with or data leaked, resulting in irreparable consequences.
By storing configuration information of multiple applications in the management server database and establishing a connection with the management server through a remote server when the application is published, the application configuration file transfer and deployment are performed to ensure that there is no third-party intervention during the application installation process.
It significantly improves the security of the application during the installation process, prevents hacker attacks and data leakage, and ensures the security of users and development companies.
Smart Images

Figure CN115834569B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computer software, and particularly to an application publishing method and an application publishing system. Background Art
[0002] With the development of computer technology, the number of applications that can be installed on terminals is increasing day by day to meet the diverse needs of users. Correspondingly, the number of application publishing platforms for application publishing has also increased. For application developers, they need to publish the applications they develop to different application publishing platforms for users to download from different application publishing platforms. However, during the user's download and installation process, the user's mobile phone is very likely to be hacked and monitored, which may lead to the tampering of important application files and the passive or active leakage of application data. Once hackers obtain important application files, it will cause irreparable consequences to users and development companies. Summary of the Invention
[0003] The present invention provides an application publishing method and an application publishing system, aiming to execute the operation steps required during application publishing on the server side without the involvement of a third party, greatly improving the security during the application installation process.
[0004] In a first aspect, an embodiment of the present invention provides an application publishing method, and the application publishing method includes:
[0005] The management server stores the configuration information of multiple applications in a database, where each application corresponds to an application package, and the application package is stored in a remote server;
[0006] The management server receives a usage application request file sent by the remote server, and the application request file includes an application name, a required certificate type, the IP address of the remote server, an account, and a password;
[0007] The management server queries the configuration file of the application according to the application name and the required certificate type; and
[0008] The management server establishes a connection with the remote server according to the IP address, account, and password of the remote server;
[0009] The management server sends the configuration information of the application to the remote server;
[0010] The remote server deploys the application package of the application;
[0011] The remote server publishes the deployed application package to the application store.
[0012] Optionally, the configuration information corresponding to each application is stored in the database in multiple configuration files, and the configuration file names of the same application contain the same primary key.
[0013] Optionally, the configuration information at least includes a keyStore file, a certSigningRequest file, a p12 file, a p12 password, a mobileprovision file, and the bundle ID, issue date, and expiration date of the mobileprovision file.
[0014] Optionally, the bundle ID, issue date, and expiration date of the mobileprovision file are obtained by scraping the content of the mobileprovision file through a script.
[0015] Optionally, the application publishing method further includes:
[0016] Obtaining the expiration date of the mobileprovision file;
[0017] Determining whether the expiration date is less than the current date;
[0018] If the expiration date is less than the current date, deleting the configuration information of the management server and the remote server.
[0019] Optionally, the deployment of the application package by the remote server specifically includes:
[0020] The management server sends the p12 file, mobileprovision, and / or keyStore file of the application to the remote server;
[0021] The remote server installs the p12 file, mobileprovision, and / or keyStore file into the corresponding folder of the application package.
[0022] Optionally, the management server and the remote server are connected using the Secure Shell protocol.
[0023] In a second aspect, an embodiment of the present invention provides an application publishing system, and the application publishing system includes:
[0024] A management server, including:
[0025] A storage module, configured to store the configuration information of the application in a database, where each application corresponds to an application package, and the application package is stored in a remote server;
[0026] A receiving module, configured to receive an application usage application file sent by a remote server, where the application usage application file includes an application name, a required certificate type, an IP address of the remote server, an account, and a password;
[0027] A query module, configured to query a configuration file of the application according to the application name and the required certificate type; and
[0028] A connection module, configured to access configuration information of the application to the remote server through remote connection according to the IP address, the account, and the password of the remote server; and
[0029] A remote server, including:
[0030] A deployment module, configured to deploy an application package of the application; and
[0031] A publishing module, configured to publish the deployed application package to an application store.
[0032] Optionally, the management server further includes:
[0033] An obtaining module, configured to obtain an expiration date of the mobileprovision file;
[0034] A judging module, configured to judge whether the expiration date is less than the current date;
[0035] A deleting module, if the expiration date is less than the current date, deleting configuration information of the management server and the remote server.
[0036] In a third aspect, an embodiment of the present invention provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the computer program of the application publishing method as described above.
[0037] As described above, by storing configuration information of multiple applications in a database of a management server, when an application needs to be used or is about to be launched, a developer sends a file for applying to use the application to the management server through a remote server, where the file includes the IP address, the account, the password of the remote server, the application name, and the certificate type required by the application. The management server establishes a connection with the remote server according to the IP address, the account, and the password of the remote server, and finds the configuration file of the application through the application name and the certificate type required by the application. When communicating between the management server and the remote server, the configuration file of the application is transmitted to the remote server. At this time, the remote server downloads the configuration file and deploys the configuration file to a corresponding folder of the application package of the application, and finally publishes the successfully deployed application package to an application store. The present invention ensures the security of the application during the installation process. Brief Description of the Drawings
[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on the structures shown in these drawings.
[0039] Figure 1 It is a schematic flowchart of an application release method provided by the first embodiment of the present invention.
[0040] Figure 2 It is a schematic flowchart of an application release method provided by the second embodiment of the present invention.
[0041] Figure 3 It is a schematic diagram of the modules of an application release system provided by the first embodiment of the present invention.
[0042] Figure 4 It is a schematic structural diagram of an application release system provided by the first embodiment of the present invention.
[0043] The realization of the purpose of the present invention, its functional features and advantages will be further described with reference to the embodiments and the drawings. Detailed Embodiments
[0044] In order to make the purpose, technical solutions and advantages of the present invention clearer, the following will further describe the present invention in detail with reference to the drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention and are not used to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.
[0045] The terms "first", "second", "third", "fourth", etc. (if any) in the specification, claims and drawings of this application are used to distinguish similar planned objects and do not necessarily describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances. In other words, the described embodiments can be implemented in an order other than those illustrated or described here. In addition, the terms "include" and "have" and any variations thereof can also include other content. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0046] It should be noted that the descriptions involving "first", "second", etc. in the present invention are only for descriptive purposes, and should not be construed as indicating or implying their relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. Additionally, the technical solutions between various embodiments may be combined with each other, but it must be based on the ability of those of ordinary skill in the art to implement. When the combination of technical solutions results in contradictions or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection required by the present invention.
[0047] Please refer to Figure 4 , which is a schematic structural diagram of an application publishing system provided by the first embodiment of the present invention. The present invention provides an application publishing method, which is executed by the application publishing system 10. The application publishing system 10 includes a management server 101 and a remote server 102. The management server 101 is communicatively connected to the remote server 102. The management server 101 is used to store the configuration information of the application. The remote server 102 is used to deploy the application package of the application. The management server 101 remotely connects to the remote server 102 according to the usage application request file submitted by the remote server 102 and sends the configuration file to the remote server 102. The remote server 102 deploys the application package and publishes the successfully deployed application package to the application store.
[0048] Please refer to Figure 1 , which is a schematic flowchart of the application publishing method provided by the first embodiment of the present invention. The application publishing method specifically includes steps S101 - S107.
[0049] Step S101, the management server 101 stores the configuration information of multiple applications in the database. Among them, each application corresponds to an application package, and the application package is stored in the remote server 102. Specifically, the configuration file of the application is obtained by developers analyzing the background data of the application and then entering the obtained data into the database of the management server 101 after sorting. The configuration file includes the release certificate of the application, and the release certificate includes at least but is not limited to the keyStore file, the certSigningRequest file, the p12 file, the p12 password, the mobileprovision file, and the bundleID, issue date, and expiration date of the mobileprovision file. In this embodiment, this application release method is applicable to applications on Android and Apple systems. The configuration information corresponding to each application is stored in the database of the management server 101 in multiple configuration files, and the configuration files of the same application have the same primary key. In some feasible embodiments, the English name of the application can be used as the primary key to distinguish these configuration files. The purpose of doing this is that developers or maintenance personnel can conveniently find the configuration files of different applications according to the primary keys of different English names.
[0050] For example, a certain bank has an application software called Ping An Pocket Bank. Then, the stored data of this application uses Ping An Pocket Bank as the primary key, and as long as it is the primary key of the configuration file of the Ping An Pocket Bank application, it is Ping An Pocket Bank.
[0051] Furthermore, each application has a corresponding application package, and the application package is stored in the remote server 102. Understandably, before each application goes online, the application package will be deployed. In this embodiment, the deployment of the application package is carried out in the remote server 102.
[0052] Step S102, the management server 101 receives the application usage application file sent by the remote server 102. The application usage application file includes the application name, the required certificate type, the IP address of the remote server, the account, and the password. Understandably, to ensure the security of application information, when an application needs to be used or released online, the application usage application file of this application is directly sent from the remote server 102. The management server 101 will send the configuration file of this application to the application package corresponding to this application according to the received application command, and the application package is stored in the remote server 102, and only the management personnel with viewing permissions can access the remote server 102.
[0053] Specifically, the developer sends an application file for using a file to the management server 101 through the remote server 102. The application file includes the application name of the application, the required certificate type (iOS / Android), and the IP address, account, and password of the remote server 102.
[0054] Step S103, the management server 101 queries the configuration file of the application according to the application name and the required certificate type. Specifically, the management server 101 searches for the configuration file matching the application in the database according to the name and required certificate of the application.
[0055] Step S104, the management server 101 establishes a connection with the remote server 102 according to the IP address, account, and password of the remote server 102. Specifically, the management server 101 can access the remote server 102 only when it knows the IP address, account, and password of the remote server 102. Among them, the management server 101 establishes a connection with the remote server 102 through the SSH protocol. Through the SSH protocol, all transmitted data can be encrypted, and DNS spoofing and IP spoofing can also be prevented. At the same time, the data transmitted in the SSH mode is compressed, which can speed up the transmission speed.
[0056] Step S105, the management server 101 sends the configuration information of the application to the remote server 102. Specifically, according to steps S103 and S104, the queried configuration file is sent to the remote server 102. In some feasible embodiments, after obtaining the IP address of the management server 101, the queried configuration file is automatically transferred to the remote server 102 using the code command scp -P port file_name user@ip: / dir_name.
[0057] Furthermore, to ensure the security of the configuration file, the process steps of the application release method can be made into an approval process to conduct real-name authentication for the applicant submitting the application file for use, and conduct real verification on the IP address, account, and password of the remote server 102 (verified by the operation and management personnel of the remote server 102). Only when all the above steps pass can the management server 101 send the configuration information of the application to the remote server 102. For example, the process steps can be: applicant - direct leader of the applicant - server operation administrator - application release system administrator.
[0058] Step S106: The remote server 102 deploys the application package of the application. Specifically, the management server 101 transfers the P12 file, mobileprovision file or keyStore file to the remote server 102 in SSH mode. The remote server 102 downloads and installs the received P12 file, mobileprovision file or keyStore file into the relevant folder of the corresponding application package, completing the deployment of the application package of the application. In some feasible embodiments, the deployment of the application package can be completed by code. For example, install the P12 file on the MAC server: security import [P12 file path] -k ~ / Library / Keychains / login.keychain -d -P [P12 certificate password] -T / usr / bin / codesign.
[0059] Step S107: The remote server 102 publishes the deployed application package to the application store. Specifically, according to Step S106, the remote server 102 sends the deployed application package to the application store for users to download and use.
[0060] In the above embodiments, the developer obtains the configuration file of the application and stores the configuration file in the management server 101. When the application needs to be used or is about to be released online, the developer sends a file for applying to use the application to the management server 101 through the remote server 102. Among them, the file includes the IP address, account, password of the remote server 102, the application name, and the certificate type required by the application. The management server 101 establishes a connection with the remote server 102 through the IP address, account and password of the remote server 102, and finds the configuration file of the application through the application name and the certificate type required by the application. When the management server 101 and the remote server 102 are communicating, the configuration file of the application is transferred to the remote server 102. At this time, the remote server 102 downloads the configuration file and deploys the configuration file to the folder of the corresponding application package of the application, and finally publishes the successfully deployed application package to the application store.
[0061] In addition, the deployment operation of the application package of the remote server 102 by the management server 101 is all completed by code, without the need for manual clicking to install, further simplifying the installation method and realizing automatic installation.
[0062] Please refer to Figure 2, which is a schematic flowchart of the application release method provided by the second embodiment of the present invention. The difference between the application release method provided by the first embodiment and the application release method provided by the second embodiment is that a deletion mechanism is established in the application release method provided by the second embodiment, and the specific implementation process of this application release method includes steps S201 - S203.
[0063] Step 201, obtain the expiration date of the mobileprovision file. Specifically, the expiration date of the mobileprovision file can be captured by a script. For example: Security cms - D - ikoudai.mobileprovision > koudai.plist && / usr / libexec / PlistBuddy - c ‘Print DeveloperCertificates:0’ koudai.plist | openssl x509 - inform DER - noout - enddate.
[0064] Step 202, determine whether the expiration date is less than the current date. Specifically, after the management server 101 obtains the expiration date of the application according to step S201, obtain the system date again, that is, the current date, and compare the sizes of the current date and the expiration date.
[0065] Step 203, if the expiration date is less than the current date, delete the configuration information of the management server 101 and the remote server 102. Specifically, if the expiration date is less than the current date, it means that the file of this application has expired and cannot be used anymore. At this time, the management server 101 will delete its own application configuration information and at the same time delete the relevant configuration information of the remote server 102 through a remote connection, so that the application can run accurately when reinstalled or released, and problems that the application cannot be used during use due to configuration information issues will not occur.
[0066] In the above - mentioned embodiment, by establishing a deletion mechanism for the management server 101, when the management server 101 monitors that the configuration information of this application has expired, while deleting the configuration information in its own database, the corresponding configuration file in the remote server 102 is also deleted through a remote connection, further ensuring the security and usability of the application and reducing the workload of developers.
[0067] Please refer to Figure 3, which is a schematic structural diagram of an application publishing system provided by the first embodiment of the present invention. The application publishing system 10 includes a management server 101 and a remote server 102. Among them, the management server 101 includes a storage module 1011, a receiving module 1012, a query module 1013, a connection module 1014, an acquisition module 1015, a judgment module 1016, and a deletion module 1017. The remote server 102 includes a deployment module 1021 and a publishing module 1022.
[0068] The management server 101 includes:
[0069] The storage module 1011 is used to store the configuration information of the application in the database. Among them, each application corresponds to an application package, and the application package is stored in the remote server 102.
[0070] The receiving module 1012 is used to receive the application usage application file sent by the remote server 102. The application usage application file includes the application name, the required certificate type, the IP address of the remote server, the account number, and the password.
[0071] The query module 1013 is used to query the configuration file of the application according to the application name and the required certificate type.
[0072] The connection module 1014 is used to access the configuration information of the application to the remote server 102 through remote connection according to the IP address, the account number, and the password of the remote server.
[0073] The acquisition module 1015 is used to acquire the expiration date of the mobileprovision file.
[0074] The judgment module 1016 is used to judge whether the expiration date is less than the current date.
[0075] The deletion module 1017, if the expiration date is less than the current date, deletes the configuration information of the management server and the remote server.
[0076] The remote server 102 includes:
[0077] The deployment module 1021 is used to deploy the application package of the application. And
[0078] The publishing module 1022 is used to publish the deployed application package to the application store.
[0079] Those skilled in the art can understand that, for the convenience and conciseness of description, the application publishing system described in this embodiment can refer to the corresponding process of the application publishing method described in the above embodiment, and will not be elaborated here.
[0080] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), or the like.
[0081] Obviously, those skilled in the art can make various modifications and variations to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention also intends to include these modifications and variations.
[0082] The above are only the preferred embodiments of the present invention, and of course, the scope of the rights of the present invention cannot be limited thereby. Therefore, equivalent changes made according to the claims of the present invention still fall within the scope covered by the present invention.
Claims
1. A method for application release, characterized in that, The application release method includes: The management server stores the configuration information of multiple applications in a database. Each application corresponds to an application package, and the application package is stored in a remote server. The configuration information of the multiple applications is obtained by developers analyzing the background data of the applications and then entering the obtained data into the database of the management server after sorting. The management server receives a usage application request file sent by the remote server. The application request file includes the application name, the required certificate type, the IP address of the remote server, the account, and the password. The management server queries the configuration file of the application according to the application name and the required certificate type; and The management server establishes a connection with the remote server according to the IP address, the account, and the password of the remote server. The management server sends the configuration information of the application to the remote server. The remote server deploys the application package of the application. The remote server publishes the deployed application package to the application store.
2. The application publishing method according to claim 1, wherein The configuration information corresponding to each application is stored in the database in multiple configuration files, and the configuration file names of the same application contain the same primary key.
3. The application publishing method according to claim 1, characterized in that The configuration information at least includes the keyStore file, the certSigningRequest file, the p12 file, the p12 password, the mobileprovision file, and the bundle ID, the issue date, and the expiration date of the mobileprovision file.
4. The application publishing method according to claim 3, wherein The bundle ID, the issue date, and the expiration date of the mobileprovision file are obtained by scraping the content of the mobileprovision file through a script.
5. The application publishing method according to claim 4, characterized in that, The application release method further includes: Obtaining the expiration date of the mobileprovision file; Judging whether the expiration date is less than the current date; If the expiration date is less than the current date, deleting the configuration information of the management server and the remote server.
6. The application release method according to claim 5, wherein The remote server deploying the application package of the application specifically includes: The management server sends the p12 file, the mobileprovision, and / or the keyStore file of the application to the remote server; The remote server installs the p12 file, the mobileprovision, and / or the keyStore file into the corresponding folder of the application package.
7. The application release method according to claim 1, characterized in that The management server and the remote server are connected using the Secure Shell protocol.
8. An application release system, the application release system includes: A management server, including: A storage module, configured to store the configuration information of the application in a database. Each application corresponds to an application package, and the application package is stored in a remote server. The configuration information of multiple applications is obtained by developers analyzing the background data of the applications and then entering the obtained data into the database of the management server after sorting. A receiving module, configured to receive an application application file sent by a remote server, where the application application file includes an application name, a required certificate type, an IP address of the remote server, an account, and a password; A query module, configured to query a configuration file of the application according to the application name and the required certificate type; and A connection module, configured to access the configuration information of the application to the remote server through a remote connection according to the IP address, the account, and the password of the remote server; and A remote server, including: A deployment module, configured to deploy an application package of the application; and A publishing module, configured to publish the deployed application package to an application store.
9. The application release system according to claim 8, characterized in that, The management server further includes: An obtaining module, configured to obtain an expiration date of a mobileprovision file; A judging module, configured to judge whether the expiration date is less than the current date; A deleting module, if the expiration date is less than the current date, delete the configuration information of the management server and the remote server.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the computer program of the application publishing method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Application deployment method and device, computer equipment and storage medium
CN111708550A
Configuration file management method and device, equipment and storage medium
CN113572861A